【发布时间】:2015-11-05 21:37:29
【问题描述】:
我需要在 windows 7+ 中使用 cmd(命令提示符)在某些句子中模拟用户输入,我在这里搜索并找到了一个很好的部分解决方案:
[部分解决方案] how to userinput without typing to a batch file
它在大多数情况下都有效,但由于某种原因,在其他情况下却失败了。例如,它适用于:
cmd /c echo y^> "%temp%\answer.tmp" ^& (chkdsk C: /F /R /X ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"
它创建一个名为“answer.tmp”的文件,其中包含两行,其中一行包含响应(在本例中为“y”),然后将其粘贴到“chkdsk C: /F /R /X”命令,最后删除它。
但是,由于某种原因,它失败了:
cmd /c echo y^> "%temp%\answer.tmp" ^& (dism /online /disable-feature /featurename:"TabletPCOC" ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"
唯一改变的是执行的命令,这次是“dism /online /disable-feature /featurename:'TabletPCOC'”。
你有什么想法吗?
【问题讨论】:
-
当您在控制台窗口中以交互方式尝试此操作时会发生什么? (先运行
echo y > "%temp%\answer.tmp",然后运行dism /online /disable-feature /featurename:"TabletPCOC" < "%temp%\answer.tmp"。) -
这个技巧只有在程序(“目标”)从 STDIN 获取输入时才有效。有些程序更喜欢直接从键盘获取输入(不确定
dism是否是其中之一,但请记住这一点)。
标签: batch-file command-line cmd command-prompt