@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
不回应“存在”或“不存在”
使用variables“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 )
给出输出:
reached exists.
这里有两个问题。 一个是变量名后面的空格:
SET filename = whatever
应该
SET filename=whatever
(或者你以后可以使用%filename %
,但是这太可怕了:)
第二个问题是没有任何引号,如果%filename%
为空,你的“IF”测试将无法正常工作。 引用它:
IF EXIST "%filename%" ( echo exists ) ELSE ( echo Doesnot exist )
我现在没有时间适当地重新创建,但是我可以发现一些潜在的问题:
你有没有尝试删除set
=
中的空格:
set filename=VCU17_CCU6\applications\VCU17APP
否则你可能会有一个单一的空间领导你的文件名
您可能想尝试引用%filename%
的使用:
IF EXIST "%filename%" ( ...