【问题标题】:Batch script that copies all contents of subdirectories into a parent directory?将子目录的所有内容复制到父目录的批处理脚本?
【发布时间】:2015-11-04 03:38:11
【问题描述】:

假设我有一个批处理文件 script.bat。此批处理文件放置在父文件夹中。

> Parent folder
    script.bat
    > subdirectory1
        file1.1
        file1.2
        file1.3
    > subdirectory2
        file2.1
        file2.2
        file2.3

如何编写批处理文件,以便当我双击它时,它将所有文件从(子目录内)复制到(批处理文件所在的文件夹)?

【问题讨论】:

  • for /d %%I in (*) do copy "%%~I\*" .
  • 谢谢,成功了。在这里批处理菜鸟,您能解释一下该命令的每个组件的作用吗?
  • @rojo,发布您的解决方案作为答案怎么样?所以OP可以接受它(希望;-))并且问题不再在SO数据库中保持开放......
  • @jameschang 应 aschipfl 的要求,解释已移至答案。

标签: windows shell batch-file batch-processing command-prompt


【解决方案1】:

您要查找的代码是

for /d %%I in (*) do copy "%%~I\*" .

for* 匹配的每个目录(由于/d 开关)执行do 之后的命令。 copy 副本。 %%~I 是一个变量,其值是 for 循环已进行到的任何目录名称。 %%~I 中的波浪号会去掉引号(如果有)。最后的. 是当前工作目录(包含批处理脚本的目录)的简写。请在 cmd 控制台中查看 for /? 了解更多信息。

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 2012-11-01
    • 2020-09-06
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多