windows - 批处理文件 - 使用变量

标签 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 )

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

这里的输出显示:

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/

相关文章:

batch-file - 为什么这个带有多个文字搜索字符串的 FINDSTR 示例没有找到匹配项?

python - 如何在 Windows 上使用 Python 的 "easy_install"... 没那么容易

C# 更改非 unicode 语言或更改位置

windows - 从虚拟机检索 BSOD 文本

Windows 相当于 Unix 上的文件 .netrc?

Windows 批处理 : sleep

c++ - Windows/Linux下直接访问内存设备

batch-file - 将包含许多文件的文件夹拆分为多个子文件夹 (Windows 10)

powershell - 如何从powershell获取返回值并将其放入批处理文件中?

batch-file - 我应该如何执行此文件/文件夹分发任务; SSIS 还是命令脚本?