2012-01-26 106 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