我的任务是使用CMD在包含字母a和ar的文件夹中创建子文件夹。 文件夹结构:祖父 - 父 - 这是我需要定位的(所有文件夹) - 他们的子文件夹名称包含“ar”。
我正在尝试这个:
FOR / d%A IN(c:\ Grandparent \ Parent \ * \ * ar *)DO mkdir“%A \ item_one”“%A \ item_two”“%A \ item_three”“%\ item_four”
因此,尝试使用通配符选择文件夹中的所有文件夹,但它似乎不起作用。 (明星在“父母”之后)
非常感谢任何帮助。
注意:我不允许使用批处理文件。
答案 0 :(得分:1)
此处不确定您是否需要FOR /D
。如果您对将要生成正确的目录感到满意,请从echo
命令中删除MKDIR
。
FOR /F "usebackq tokens=*" %a IN (`DIR /S /B /A:D "C:\src\*ar*"`) DO (FOR %b IN (item_one item_two item_three item_four) DO (echo MKDIR "%~a\%~b"))
为了更好的可读性而格式化,它看起来像:
FOR /F "usebackq tokens=*" %a IN (`DIR /S /B /A:D "C:\src\*ar*"`) DO (
FOR %b IN (item_one item_two item_three item_four) DO (
echo MKDIR "%~a\%~b"
)
)
如果您真的想坚持使用一个MKDIR
命令,则可以执行以下操作。但是,我建议以前的方式更易于维护。鉴于您无法使用.bat脚本文件,我不确定可维护性是否存在问题。
FOR /F "usebackq tokens=*" %a IN (`DIR /S /B /A:D "C:\src\*ar*"`) DO (
echo MKDIR "%~a\item_one" "%~a\item_two" "%~a\item_three" "%~a\item_four"
)