【发布时间】:2015-12-10 13:37:21
【问题描述】:
在批处理脚本中,我可以检查是否存在这样的文件:
if exist "C:\myfile.txt" (
:: do some action here
)
我还可以检查存储在变量名中的文件:
set MY_FILE="C:\myfile.txt"
if exist "%MY_FILE%" (
:: do some action here
)
很遗憾,如果文件名包含括号 (),这将不起作用:
set MY_FILE="C:\Program Files (x86)\myfile.txt"
if exist "%MY_FILE%" (
:: do some action here
)
Batch 以某种方式将文件路径中的括号解释为 if 语句的块。
如何检查路径中是否存在带有() 的文件?
【问题讨论】:
-
试试
set "MY_FILE=C:\Program Files (x86)\myfile.txt" -
您在
SET命令和 中的IF语句中为文件名加上引号。你只需要在一个地方引用它。 -
似乎我会尝试的第一件事是:
IF EXIST "C:\Program Files (x86)\" ECHO EXISTS。效果很好。
标签: batch-file scripting