我想将具有相同名称的子文件夹添加到当前具有以下结构的多个文件夹中:
V:/fixed name/ABC/fixed Name/
其中“ABC”是三个字母的变化组合。
我找到了以下代码,但它无法接受我的“ABC”通配符“*”。
FOR /d %A IN (V:/fixed name/ABC/fixed Name/) DO mkdir "%A\14c"
任何帮助,将不胜感激。
干杯,nickma
答案1
从命令行:
FOR /D %A IN ("V:\fixed name\*") DO mkdir "%A\fixed name\14c"
在批处理文件中:
FOR /D %%A IN ("V:\fixed name\*") DO mkdir "%%A\fixed name\14c"
答案2
这将起作用,但只允许一个“*”:
@echo off
setlocal
set pre=
set post=
set pattern=%~1
for /f "tokens=1,2 delims=*" %%p in ("%pattern%") do (
set pre=%%p
set post=%%q
)
pushd %pre%
for /f %%d in ('dir /b /ad') do @md %%d%post% && echo added: %%d%post%
popd
通配符前的路径必须存在。在这里,我们查找所有文件夹(=通配符)并附加通配符参数后面的路径。这也可以是一个文件夹树(mkwild C:\users\me\test\*\first\second
)。