【发布时间】:2015-08-12 21:17:49
【问题描述】:
在给用户一系列提示后,我的批处理脚本组装了一个目录路径:
set RELEASE_PATH=!RELEASE_DRIVE!:\!CUSTOMER!\files\!RELEASE_LABEL!
我面临的问题是尝试检测此路径末尾的文件夹是否已存在。您会认为这相当简单,但路径评估总是失败,即使路径存在。但是,当我从命令行运行相同的 if 语句时,它可以工作。 -_-
if not exist !RELEASE_PATH! (
echo DEBUG: Path %CD%\%RELEASE_LABEL% exists
mkdir %RELEASE_LABEL%
) else (
echo DEBUG: Path %CD%\%RELEASE_LABEL% does not exist
)
运行批处理文件总是回显DEBUG: Path %CD%\%RELEASE_LABEL% does not exist 的行,即使它实际上确实存在。仅供参考,我同时设置了 EnableExtentions 和 EnableDelayedExpansion。
典型的发布路径可能是R:\Widget_Co\files\Release_12.1。任何想法或想法将不胜感激。
【问题讨论】:
-
检查
echo DEBUG: Path %CD%\%RELEASE_LABEL% does not exist [!RELEASE_PATH!]。使用括号:if not exist "!RELEASE_PATH!" (
标签: windows batch-file file-handling