Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何检查批处理文件中是否存在文件_Windows_Batch File - Fatal编程技术网

Windows 如何检查批处理文件中是否存在文件

Windows 如何检查批处理文件中是否存在文件,windows,batch-file,Windows,Batch File,只有当某个文件存在时,我才需要运行实用程序。如何在Windows批处理中执行此操作 C:\>help if 在批处理程序中执行条件处理 如果[NOT]错误级别编号命令 如果[NOT]string1==string2命令 如果[不]存在文件名命令 请尝试以下示例,引用Windows XP上的IF/?的输出: IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. ) 如果存在文件名。( 删除文件

只有当某个文件存在时,我才需要运行实用程序。如何在Windows批处理中执行此操作

C:\>help if
在批处理程序中执行条件处理

如果[NOT]错误级别编号命令

如果[NOT]string1==string2命令

如果[不]存在文件名命令


请尝试以下示例,引用Windows XP上的
IF/?
的输出:

IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. ) 如果存在文件名。( 删除文件名。 )否则( 回显文件名。缺少。 ) 您还可以使用
检查丢失的文件(如果不存在)

IF
命令非常强大。
IF/?
的输出将奖励仔细阅读。为此,请在许多其他内置命令上尝试
/?
选项,以获得大量隐藏的宝石。

为什么在文件名的末尾加“.”?是打字错误吗?我引用了CMD.EXE中内置的实际
IF
命令中的帮助文本,该命令中有这些点。我不知道他们为什么包括他们,这似乎不一致。当然,
EXIST
关键字实际需要的是一个有效的文件名,它可能是完全限定的。其他命令使用习惯用法
[drive:][path]filename
代替文本
文件名。
在此处使用,这显然更清楚。如果处理带有空格的路径:@loopkin-
else
有效,请参阅“If/?”。。。“ELSE子句必须与IF后面的命令位于同一行。例如:[…许多使用示例…]”@chris-j谢谢chris,你是对的,括号似乎必须与ELSE位于同一行。这就是我做错的。我想我永远都不会习惯批处理语法:(如果你是像我一样的n00b,忘记替换扭曲的括号,那么这就不行了。所以当你{insert file name here}时,一定要删除{}!!花了5分钟的时间才意识到这一点:(如果存在
的话
构造的一个警告:它无法检测隐藏的文件。)(具有隐藏属性的文件)。
if exist <insert file name here> (
    rem file exists
) else (
    rem file doesn't exist
)
if exist <insert file name here> <action>
if exist c:\autoexec.bat notepad c:\autoexec.bat