windows - 有没有办法从 for 循环中的通配符中排除某些值/变量

标签 windows batch-file cmd command-prompt

for /d %%A IN (u:\mainfolder\*) DO if not exist "%%A\%var1%" mkdir "%%A\subfolder"

我想排除目录 u:\mainfolder\中的某些文件夹,以便 mkdir 在除少数文件夹之外的所有文件夹上执行。如果使用通配符,是否有办法排除某些文件夹?

最佳答案

如果您只有 2 或 3 个要排除,您可以这样做。

for /d %%A IN (u:\mainfolder\*) DO if /i not "%%A"=="u:\mainfolder\Name1ToExclude" if /i not "%%A"=="u:\mainfolder\Name2ToExclude" if not exist "%%A\%var1%" mkdir "%%A\subfolder"

否则,如果您有更多,您可能想要使用名称表来排除。

关于windows - 有没有办法从 for 循环中的通配符中排除某些值/变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45638473/

相关文章:

包含二进制可执行文件的 Windows 批处理脚本

windows - 与 bash 的 exec() 等效的 PowerShell 是什么?

git flow release finish -m 在 cmd 和 Git Bash 中给出不同的行为

windows - 从批处理文件中的不同目录运行时 VBS 文件卡住

javascript - 如何将 Angular JavaScript 代码转换为原生 Windows 应用程序?

windows - 如何在 Windows 上安装 rabbitmq 服务器?

windows - 穷人在 Windows 7 中使用作业调度程序远程执行作业

batch-file - 找到第一个命中后停止 DIR 命令搜索

windows - 如何在程序中使用批处理打开文件?

Windows 批处理转到 FOR 循环内