在所有目录中创建子目录命令提示符

时间:2017-10-04 18:16:46

标签: command-line cmd

我的任务是使用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”

因此,尝试使用通配符选择文件夹中的所有文件夹,但它似乎不起作用。 (明星在“父母”之后)

非常感谢任何帮助。

注意:我不允许使用批处理文件。

1 个答案:

答案 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"
)