我正在尝试创建一个批处理文件,该文件将在处理其余命令之前检查目录是否存在。目录名称将始终以相同的开头,但随后会附加各种数字,有时还会附加字母。我想删除批处理文件末尾的目录,但是将变量与 rmdir 一起使用而不检查以确保路径首先存在会产生问题(如另一个目录被删除)。下面的代码是我一直在使用的代码,但系统说这条路径不存在。
IF EXIST "C:\Today's Unique Folder*\nul" ( GOTO continue ) ELSE ( GOTO end)
此外,我尝试将此路径设置为变量并将该变量与 IF EXIST 一起使用,但这也不起作用。除了 IF EXIST 之外,还有其他命令可以尝试吗?预先感谢您的帮助。
最佳答案
您可以使用 FOR
与 /D
参数以使用通配符搜索文件夹名称。
请注意,如果发现多个文件夹名称的开头部分相同,则 RESULT
将最终成为最后一个文件夹。
SET RESULT=---
FOR /D %%d IN ("C:\Today's Unique Folder*") DO (
SET RESULT=%%d
)
IF EXIST "%RESULT%" (GOTO WINDIR) ELSE (GOTO NOWINDIR)
:WINDIR
ECHO Yes
GOTO END
:NOWINDIR
ECHO No
:END
关于variables - 如何检查目录名称中是否存在带有通配符的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938566/