我正在写一个简单的batch file(remove.bat)来删除一个目录及其所有子目录。 该文件包含以下命令 –
rmdir /S modules
其中modules是非空目录的名称。
我收到以下消息 –
C:\...\bin>rmdir /S modules modules, Are you sure (Y/N)?
如何通过batch file将控制台input“Y”提供给上面的Y / N问题? 有没有可以做到这一点的命令?
正如其他人指出的,你应该使用/Q
选项。 但是还有另外一种“老派”的方式,在当天命令没有选择压制确认信息的时候使用。 只需简单地回复所需的响应,并将值输入命令。
echo y|rmdir /s modules
我建议使用/Q
选项,但是如果您遇到不提供禁止确认消息选项的命令,则管道技术可能非常重要。
使用rmdir /S /Q modules
/Q
抑制确认提示。
做rmdir /S
删除一个非空的目录,并执行rmdir /Q
不提示。 合并到rmdir /S /Q
,悄悄地删除非空目录。
你可以做
rmdir /Q
Q是安静的
我只想补充说,虽然不适用于Rmdir,但在某些情况下,强制切换也可能是解决方案。 所以在一般意义上,你应该看看你的命令开关为/ f,/ q或其一些变体(例如,Netdom RenameComputer使用/ Force,而不是/ f)。
回声管是一个巧妙的技巧,非常有用,因为你不会总是找到合适的开关。 例如,我认为这是绕过这个Y / N提示的唯一方法。
Echo y|NETDOM COMPUTERNAME WorkComp /Add:Work-Comp
链接到几乎相同的StackOverflow后