Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
If statement 如何使批处理文件搜索文件并运行它?_If Statement_Batch File_Exe - Fatal编程技术网

If statement 如何使批处理文件搜索文件并运行它?

If statement 如何使批处理文件搜索文件并运行它?,if-statement,batch-file,exe,If Statement,Batch File,Exe,到目前为止,我已经尝试创建一个批处理文件,看看是否有文件,如果有,就执行它。它适用于默认的Microsoft程序(Word、Powerpoint、Windows Media Player…),但每当我尝试使用外部程序时(我使用Inkscape,因为我可以使用CoD、.exe文件),它都会说命令语法错误。这是我的密码: if %prog% equ ink ( if exist C:>inkscape ( start "" "C:\Program Files (x86)\Inksc

到目前为止,我已经尝试创建一个批处理文件,看看是否有文件,如果有,就执行它。它适用于默认的Microsoft程序(Word、Powerpoint、Windows Media Player…),但每当我尝试使用外部程序时(我使用Inkscape,因为我可以使用CoD、.exe文件),它都会说命令语法错误。这是我的密码:

if %prog% equ ink ( 
if exist C:>inkscape (
    start ""  "C:\Program Files (x86)\Inkscape\inkscape.exe"
) else (
    rem Sorry
)
)
你能告诉我出了什么问题吗?请给出一个脚本示例。多谢各位

if %prog% equ ink ( 
    if exist "C:\Program Files (x86)\Inkscape\inkscape.exe" ( 
        start "" "C:\Program Files (x86)\Inkscape\inkscape.exe" 
    ) else ( 
        rem Sorry 
    ) 
)

语法为
if exist filename
-而不是
if exist foldername

您可以像这样检查文件夹:

if %prog% equ ink ( 
    if exist "C:\Program Files (x86)\Inkscape\" ( 
        start "" "C:\Program Files (x86)\Inkscape\inkscape.exe" 
    ) else ( 
        rem Sorry 
    ) 
)

哦,现在我明白了!谢谢,伙计!谢谢,但我必须检查文件本身是否存在,因为文件夹可能存在,但文件可能已被删除:)