如何在CMD中目录的每个文件夹中递归创建子文件夹

阿马拉德

比方说,我有一个名为目录Grandparent
在这个目录里多个其他的文件夹,Parent 1Parent 2,等。我的目标是创建一个新的文件夹,Child,里面每一个的Parent文件夹。

例如,我有:

Grandparent/
    Parent1/
    Parent2/
    ...
    ...
    ParentX/

我想要的是:

Grandparent/
    Parent1/
        Child/
    Parent2/
        Child/
    ...
    ...
    ParentX/
        Child/

有没有办法在CMD中做到这一点?(注意:我无法下载Powershell或任何其他使我的生活更轻松的便捷工具,因为我始终使用默认的Windows命令提示符)

更新

按照评论中的链接,我尝试了以下操作:

for /r %%a in (.) do (
  rem enter the directory
  pushd %%a
  echo In Directory:
  mkdir testFolder
  cd
  rem leave the directory
  popd
)

但是,这将testFolder每个新创建的文件创建该文件夹:

Grandparent/
    Parent1/
        Child/
            Child/
                Child/
                    ...
    Parent2/
        Child/
            Child/
                Child/
                    ...
    ...
    ...
    ParentX/
        Child/
            Child/
                Child/
                    ...
    Child/
        Child/
            Child/
                ...
戴维·波斯蒂尔

但是,这将在每个新创建的文件夹中创建文件夹testFolder

这是因为该for /r命令会在每次创建新目录时更新要处理的文件列表,因此仅在要访问固定目录列表时才有用。

这是一个批处理文件(test.cmd),它将执行您想要的操作。将其放在Grandparent目录中。

test.cmd:

@echo off
setlocal
for /f "usebackq tokens=*" %%a in (`dir /b /a:d`) do (
  rem enter the directory
  pushd %%a
  echo In Directory: %%a
  md child
  rem leave the directory
  popd
  )
endlocal

笔记:

  • dir /b /a:d 被评估一次,因此目录列表是固定的
  • for /f 将仅在此固定列表中循环一次。

输出示例:

> test
In Directory: Documentation
In Directory: subdir
In Directory: test
In Directory: test with space
In Directory: test1

> dir /b /a:d /s child
F:\test\Documentation\child
F:\test\subdir\child
F:\test\test\child
F:\test\test with space\child
F:\test\test1\child

进一步阅读

  • Windows CMD命令行的AZ索引-Windows cmd行相关的所有内容的出色参考。
  • dir-显示文件和子文件夹的列表。
  • / f-针对另一个命令的结果循环命令。
  • md-创建目录-创建一个新文件夹。
  • 推入-更改当前目录/文件夹并存储先前的文件夹/路径,以供POPD命令使用。
  • popd-将目录更改回PUSHD命令最近存储的路径/文件夹。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在现有文件夹树中(在每个现有文件夹中)递归创建文件夹?

如何在每个文件夹中创建文件?

如何在子文件夹 SharePoint Online C# 中创建子文件夹

如何在用户选择的根文件夹中创建包含某些子文件夹的文件夹?

如何在Android Studio中创建目录文件夹

(Swift) 如何在一个文件夹中创建子文件夹

如何在现有文件夹中创建子文件夹?

如何在git分支中创建子文件夹?

目录中的文件夹数(递归)

如何使用 CMD 在文件夹中创建子文件夹并移动其中创建的每 10 个文件?

如何在当前目录中并排打印每个子文件夹中的子文件夹列表和编号文件?

在目录的每个子文件夹中创建一个文件夹?

如何递归地仅复制文件夹和子文件夹中的文件?

如何为不同的蜘蛛设置相同的缓存文件夹,现在抓取为每个蜘蛛在缓存目录中创建子文件夹

如果存档中没有子文件夹,如何在RAR / ZIP提取中创建子文件夹?

WordPress在插件上传目录中创建子文件夹

在目录中创建多个文件夹

如何递归压缩目录中的所有子文件夹?

如何在ckfinder中显示所有文件夹,子文件夹和文件

Java 文件编写器。如何在与 .exe 文件相同的目录中创建文件夹?

.htaccess:如何在URL中删除子文件夹的子文件夹?

如何在Linux中递归重命名文件夹

如何在Excel中为文件夹中的每个csv文件创建新工作表

如何在基本文件夹的每个子文件夹中运行bash

如何在不在工作目录中的目录中创建文件夹

如何在Laravel 5中使用输入名称创建存储文件夹和子文件夹

如何在不创建子文件夹的情况下将多个文件夹压缩到压缩文件夹中?

(批量)如何递归删除目录中除以.开头的文件/文件夹之外的所有文件/文件夹?

如何在特定文件夹中创建nuspec文件?