检查文件是否存在
我有以下蝙蝠,但它似乎不起作用我想检查 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
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有一些小错误,但却是造成你重大困难的原因。
您可以使用
SET /P
命令从文件中读取一行,而不仅仅是使用SET
:文件中的关键字存在检查命令是
EXIST
,而不是EXISTS
此外,如果您只需要对文件的不存在做出反应,则只需添加
NOT
:所以,整个命令可能是这样的:
There are some minor mistakes, which, however, are the cause of your major difficulties.
You can read a line from a file with the
SET /P
command, not simply withSET
:The keyword in the file existence check command is
EXIST
, notEXISTS
Also, if you only need to react to the file's non-existence, you can simply add
NOT
:So, the entire command might be like this:
我相信正确的语法是
注意代码中的“exist”与“exists”。其他需要注意的事项:
for
C:\NUL
将始终返回 true。并不总是在网络设备上正常工作。
请参阅 http://support.microsoft.com/kb/65994 了解更多信息。
I believe the correct syntax is
Notice "exist" vs "exists" in your code. A couple other things to note:
for
C:\NUL
will always return true.does not always work correctly on network devices.
See http://support.microsoft.com/kb/65994 for a bit more information.
我认为最简单的解决方案是在一行上完成所有操作,如下所示:
除非您打算再次使用该变量,否则不需要该变量,它只是意味着另一行代码。正如 Aleks G 和 Andriy M 所说,您需要确保命令和参数拼写正确。
I think the simplest solution would be to do it all on one line like this:
There is no need for the variable unless you intend on using it again, it just means another line of code. As Aleks G and Andriy M said, you need to make sure the commands and parameters are spelt correctly.