2016-03-11 58 views
0

我有一個批處理文件,用於測試是否存在文件。之後,它不得不暫停。在批處理文件中暫停不起作用

但由於某種原因,暫停不起作用。
請任何幫助。感謝很多

if exist C:\autoexec.bat 
    ECHO Folder C:\autoexec.bat exists 
    PAUSE 

暫停工作在命令提示符。

該文件確實存在。但我看不到回聲以及暫停 只要運行.bat文件,屏幕就會消失

+0

暫停「作品」就好了。沒有足夠的信息來說明你做錯了什麼。 –

+0

你的問題是暫停總是執行,你只希望當文件存在時它暫停? – NineBerry

+0

「不工作」?任何輸出?它是否「獨立」工作(只需在命令提示符下「暫停」)? – Stephan

回答

2

答案在命令中。對於if命令的有效語法是

IF [NOT] EXIST filename command 
OR 
IF [NOT] EXIST filename (command) ELSE (command) 

command在最後是非常重要的。我所做的就是這個

@Echo off 
if exist C:\autoexec.bat goto hi 
if not exist C:\autoexec.bat goto bye 
:hi 
ECHO Folder C:\autoexec.bat exists 
PAUSE 
:bye 
Echo Folder C:\autoexec.bat does not exists 
pause 

和它的工作就像一個魅力

問候,

http://ss64.com/nt/if.html

3

你想寫:

if exist C:\autoexec.bat ECHO Folder C:\autoexec.bat exists 
PAUSE 

注意,外殼在if命令期待命令執行之後。如果條件滿足後沒有命令,則應該通過以下命令中止批處理: 「命令的語法不正確。」

編輯。 Mr.Helpy先了解它。從cmd窗口中運行,而不是每個雙擊:如果你想多行使用塊

if exist C:\autoexec.bat (
ECHO Folder C:\autoexec.bat exists 
REM other commands... 
) 
PAUSE 
+0

將塊狀作品放入塊狀物中,如 –

+0

。 –

+0

如果我們必須檢查多個文件,該怎麼辦? –

2

基本故障排除

注意。

然後你看,那

if exist C:\autoexec.bat 

給你一個語法錯誤,打破你的批處理文件的執行。

if需要一個命令來執行(在同一行),但沒有一個。所以echo行永遠不會到達。