IF EXIST在不存在的文件上输出true

时间:2014-08-19 13:48:48

标签: if-statement dos

IF EXIST %PROGRAMFILES%\Winamp\paths.ini ( REM do stuff )

此文件(和文件夹)不存在,但输出为true。

脚本在“K:\”上,并最终以另一个文件(%1)开始,据我所知,它改变了起始目录。

我不知道为什么这不起作用。

此外,我尝试导航到%PROGRAMFILES%并检查\ Winamp \的存在但是由于某种原因它停留在它的主目录(或%1之一)。

1 个答案:

答案 0 :(得分:1)

您可能需要在路径周围引用,因为%PROGRAMFILES%将扩展为C:\Program Files

IF EXIST "%PROGRAM%FILES%\Winamp\paths.ini%"

e.g。如果没有引号,请注意它是如何显示“找不到文件” TWICE

C:\Users\marc>dir %PROGRAMFILES%
 Volume in drive C is Windows7_OS
 Volume Serial Number is 0E31-0E35

 Directory of C:\

File Not Found

 Directory of C:\Users\marc

File Not Found

因为它被解释为

dir C:\Program Files

执行
dir C:\Program
dir Files

使用引号,它有效:

C:\Users\marc>dir "%PROGRAMFILES%"
 Volume in drive C is Windows7_OS
 Volume Serial Number is 0E31-0E35

 Directory of C:\Program Files

18/07/2014  04:02 PM    <DIR>          .
18/07/2014  04:02 PM    <DIR>          ..