2012-01-26 58 views
1

如果我在“format.cmd”的批处理文件中执行以下操作并且运行它 - 10次中有9次失败。提示不断循环一次又一次的命令..?任何想法如何解决这个问题?格式命令循环

命令我运行:

echo y | format D: /V:DATA /Q 

输出:它把更多的空间回声y,则上面的命令后?我认为这是问题,但我不知道它是什么。

C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q 
C:\Temp\1>echo y | format D: /V:DATA /Q  
C:\Temp\1>echo y | format D: /V:DATA /Q 

继续,直到我必须杀死它。

感谢,

+0

你能发布整批脚本吗?它有一个循环吗? – Gregor

+0

你想用这个完成什么? – Bernard

+1

是的,请编辑您的问题以包含所有'format.cmd'文件并显示您正在收到的确切消息。如果您发布的第二部分显示的是确切消息,请为其添加一个标题,如'format.cmd'中的OUTPUT。在每一行开始的第二个块中用'C:\ Temp \ 1>'显示的内容看起来像是一个shell提示符,它不适合作为'.cmd'文件的输出。祝你好运。 – shellter

回答

2

您正试图执行从format.cmd批处理文件format.com文件。然而,优先为名称相似的文件的顺序是.CMD,再.COM,因此正在发生的事情是,format.cmd运行本身,而不是你的format.com

尝试使format.cmd看起来像这样明确地调用.com版本。

echo y|format.com D: /V:DATA /Q 
+2

脚本中的'format'命令调用'format.cmd' **不**因为'.cmd'文件优先于'.exe'可执行文件,但是因为可执行文件和批处理文件在当前目录中搜索* *在检查存储在'PATH'变量中的数据之前。而'format'外部命令位于'C:\ WINDOWS \ System32'中,顺便说一下,它是'format.com',而不是'format.exe'。 –

+2

在Windows中,可执行文件扩展的正确优先顺序(在更广泛的意义上)是由PATHEXT变量定义的,它依次是'.COM',然后是'.EXE',然后是'.BAT',只有*然后*'.CMD'。 –

+0

感谢所有的答复 - 它与format.com完美合作!应该尽管使用完整的文件名。非常感谢! – lara400