2016-03-11 115 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行永远不会到达。