我有以下蝙蝠,但它似乎工作我想检查tom.txt中的文件名,如果它存在我想什么都不做,如果它不存在我想运行runme.bat
Echo Setting variable to file name
set FAT=<C:\tom.txt
ECHO Checking for file, if exists do nothing if not run bat...
if exists %FAT% (
end
)else(
C:\runme.bat
)
答案 0 :(得分:1)
有一些小错误,但这些错误是造成重大困难的原因。
您可以使用SET /P
命令从文件中读取一行,而不只是使用SET
:
SET /P FAT=<C:\tom.txt
文件存在检查命令中的关键字为 EXIST
,而不是EXISTS
IF EXIST …
此外,如果您只需要对文件的非 - 存在做出反应,您只需添加NOT
:
IF NOT EXIST …
所以,整个命令可能是这样的:
IF NOT EXIST %FAT% C:\runme.bat
答案 1 :(得分:0)
我相信正确的语法是
if exist %FAT% goto NORUN
C:\runme.bat
:NORUN
注意代码中“存在”与“存在”。还有一些需要注意的事项:
C:\NUL
,将始终返回true。有关详细信息,请参阅http://support.microsoft.com/kb/65994。
答案 2 :(得分:0)
我认为最简单的解决方案是在这一行上完成所有这些:
IF NOT EXIST C:\tom.txt C:\runme.bat
除非您打算再次使用它,否则不需要变量,它只是意味着另一行代码。正如Aleks G和Andriy M所说,你需要确保命令和参数拼写正确。