【问题标题】:Command line console application provide all input upfront命令行控制台应用程序预先提供所有输入
【发布时间】:2023-03-28 09:55:01
【问题描述】:

我们有一个 C# 控制台应用程序,它接受各种输入(注意 - 没有命令行输入)

例如 C:\MyTool.exe

输入选项(1-4):

输入位置(1-7):

输入区域(1-3):

将这些输入一一提供后,工具对输入进行处理,产生一些业务结果。

现在,我需要使用 Option -1、Location -2、Region-1 每小时运行一次这些工具

我打算做的是设置Windows Schedular,它将调用这些EXE,但问题是我如何将输入(在可能的情况下(1、2、1)分别提供给控制台工具。

我在想有什么方法可以在命令行本身中预先提供输入...

例如 C:\MyTool.exe

请提出建议。

谢谢, 西拉杰

【问题讨论】:

  • 您可能需要将输入放入一个文件中,然后将该文件的输入方向输入到您的命令中:MyToolInput.txt > MyTool,但是 cmd 的输入和输出重定向支持非常有限:您在调度程序下尝试之前,需要从命令行尝试一些事情。请记住,调度程序可以运行批处理文件:与任务调度程序 UI 相比,定义重要的命令更容易。
  • 为什么不改变程序来接受一个可选的命令行参数,指向一个(xml、json、txt)文件?
  • 代码没有变化

标签: c# .net console-application windows-console windows-task-scheduler


【解决方案1】:

创建一个输入文件,其中输入选项由 CRLF(回车,换行)分隔。例如,打开命令提示符并转到 MyTool.exe 所在的文件夹。然后输入:'copy con input.txt<enter>1<enter>2<enter>1<enter><F6>' 这将创建输入文件。现在使用'MyTool

【讨论】:

  • 嗨,Ton,我想在我的 input.txt 中添加 Ctrl+C。该工具的输入之一可能是此 Ctrl+C。请提出建议。
  • 您无法通过 input.txt 文件执行此操作。此处列出了一些可能的解决方案:stackoverflow.com/questions/813086/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
相关资源
最近更新 更多