Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在批处理文件中从控制台读取输入?_Windows_Batch File_Cmd - Fatal编程技术网

Windows 如何在批处理文件中从控制台读取输入?

Windows 如何在批处理文件中从控制台读取输入?,windows,batch-file,cmd,Windows,Batch File,Cmd,如何在批处理文件中从控制台读取输入?我试图实现的是C中scanf的功能。如何在批处理文件中实现同样的功能?链接的建议副本中的代码片段读取用户输入 ECHO A current build of Test Harness exists. set /p delBuild=Delete preexisting build [y/n]?: 用户可以输入任意数量的字母,并将其放入delBuild变量。除了现有答案外,还可以设置默认选项,如下所示: echo off ECHO A current bui

如何在批处理文件中从控制台读取输入?我试图实现的是C中scanf的功能。如何在批处理文件中实现同样的功能?

链接的建议副本中的代码片段读取用户输入

ECHO A current build of Test Harness exists.
set /p delBuild=Delete preexisting build [y/n]?: 

用户可以输入任意数量的字母,并将其放入delBuild变量。

除了现有答案外,还可以设置默认选项,如下所示:

echo off
ECHO A current build of Test Harness exists.
set delBuild=n
set /p delBuild=Delete preexisting build [y/n] (default - %delBuild%)?:

这允许用户只需点击“回车”即可输入默认值

如果您只是快速地希望保持cmd实例打开,而不是立即退出,那么只需执行以下操作就足够了

set /p asd="Hit enter to continue"
在脚本的末尾,它将保持窗口打开


请注意,这将把
asd
设置为环境变量,并且可以用任何其他变量替换。

可能重复@Raymond:no,问题是将多个字符作为字符串从键盘读入变量。命令
set/p
读取用户键入的任何内容,无论是一个字母还是多个。@Raymond:你能分享一段代码吗..注意:你可以将用户输入与
%delBuild%
一起使用。你必须注意
echo!delBuildsetlocalenabledelayedexpansion
enabled为此,有人发明了
pause
命令,code>将在执行时为您提供更可靠的输出。而且它是
set/p
,而不是
set\p
“正如大家所说的那样”,意味着答案已经给出了,因此需要另一个没有更多信息的答案needless@jeb你说得对。我的问题是它们包含变量和echo,而我不需要这些。我花了一两分钟来分析他们的答案,因为我没有批量经验。“我相信我的答案满足了我需要的最低限度的答案。”斯蒂芬谢谢你,伙计,在这两方面。我正在寻找一种方法来保持cmd实例在脚本完成后退出,仅仅暂停X时间是不够的。@ArslanAhmad我刚刚测试过,它仍然可以从
cmd
运行,但不能从Powershell运行。确保你用的是正确的东西。