【问题标题】:How to disable input in batch script?如何禁用批处理脚本中的输入?
【发布时间】:2018-12-12 14:48:49
【问题描述】:

我有一个批处理脚本(我的),它启动另一个批处理脚本(他们的)。他们的批处理脚本在处理过程中查询用户输入,我无权修改它。

我需要禁止他们的批处理脚本查询输入,这意味着当他们的批处理脚本输出:Press enter for step 2... 时,我希望用户无法使用他们的键盘与脚本进行交互,因此脚本应该看起来像是被冻结了.

如何从我的脚本中调用他们的脚本,以使用户无法与其脚本的输入请求进行交互?

【问题讨论】:

  • 试试echo something|their.bat ?
  • 您是否试图克服PAUSE 声明?如果脚本接受用户输入,例如“输入用户数量”,那么您需要按照@npocmaka 的建议将其回显到标准输入。
  • 几乎...我希望标准输入始终为空,与用户键盘断开连接。
  • call their.bat < nul 但是,这种方法会导致所有输入都是以空数据完成,而不是暂停...
  • 这实际上对我有用,谢谢! :)

标签: batch-file cmd console console-application windows-console


【解决方案1】:

实际上总结了 cmets 以使这不是一个没有答案的问题。您可以尝试使用|(管道)运算符:

echo Haha! You will not be able to press any key!! | their.bat

这会将STDOUT(标准输出)的命令echo Haha! You will not be able to press any key!!Haha! You will not be able to press any key!!)重定向到STDINStandard Input)的命令theirs.bat

或者,甚至从nul阅读:

their.bat < nul

我建议阅读https://ss64.com/nt/syntax-redirection.htmlWhat does "&&" in this batch file?(这里的第二个答案更好。)。

【讨论】:

    猜你喜欢
    • 2020-01-31
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2022-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多