@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 )

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

这里的输出显示:
reached

不回显“存在”或“不存在”

使用变量“文件名”有什么问题吗?

还,
@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 )

给出输出:
reached
exists.

最佳答案

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

SET filename = whatever

应该
SET filename=whatever

(或者您以后可以使用%filename %,但这太可怕了:)

第二个问题是,如果%filename%为空,则没有任何引号的“IF”测试将无法正常工作。引用它:
IF EXIST "%filename%" ( echo exists
) ELSE ( echo Doesnot exist )

关于windows - 批处理文件-使用变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1388247/

10-11 22:58
查看更多