批处理文件 - 使用变量

2 windows batch-file

@echo off
set filename = 
cd GWConfig_TDS-mtpe3003
set filename = VCU17_CCU6\applications\VCU17APP 
GOTO CHECKFILE

:CHECKFILE 
echo reached
IF EXIST %filename% ( echo exists 
) ELSE ( echo Doesnot exist )
Run Code Online (Sandbox Code Playgroud)

/////////////////////////////////////////////////

这里输出显示:

reached
Run Code Online (Sandbox Code Playgroud)

不回应"存在"或"不存在"

使用变量"filename"有什么问题.

也,

@echo off
set filename = 
cd GWConfig_TDS-mtpe3003
set filename = VCU17_CCU6\applications\VCU17APP 
GOTO CHECKFILE

:CHECKFILE 
echo reached
IF EXIST VCU17_CCU6\applications\VCU17APP ( echo exists 
) ELSE ( echo Doesnot exist )
Run Code Online (Sandbox Code Playgroud)

给出输出:

reached
exists.
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

这里有两个问题.一个是变量名后面的空格:

SET filename = whatever
Run Code Online (Sandbox Code Playgroud)

应该

SET filename=whatever
Run Code Online (Sandbox Code Playgroud)

(或者你可以%filename %稍后使用,但那太可怕了:)

第二个问题是没有任何引号,如果%filename%是空的,你的"IF"测试将无法正常工作.引用它:

IF EXIST "%filename%" ( echo exists
) ELSE ( echo Doesnot exist )
Run Code Online (Sandbox Code Playgroud)