将子文件夹的内容上移一级(数百个父文件夹,所有子文件夹都有相同的名称)

将子文件夹的内容上移一级(数百个父文件夹,所有子文件夹都有相同的名称)

是否有一种内置方式(WIN7)或第三方实用程序可供我使用,让我将数百个父文件夹的子文件夹的内容向上移动一级?

为了显示:

父级1/画廊/filex.jpg
PARENT1/画廊/filey.jpg
父级1/画廊/filez.jpg
PARENT2/画廊/filex.jpg
PARENT2/画廊/filey.jpg
PARENT2/画廊/filez.jpg

我想要做的(通过一次批处理操作,而不是每个文件夹单独操作)是:

父级1/文件x.jpg
父级1/filey.jpg
父级1/filez.jpg
PARENT2/文件x.jpg
PARENT2/文件.jpg
PARENT2/filez.jpg

父文件夹的名称各不相同,但所有子文件夹都具有相同的名称“gallery”。有没有快速简便的方法可以做到这一点?我有大约 650 多个父文件夹。

答案1

您可以让 Windows 使用一个简单的循环依次对所有 650 个文件夹执行相同的命令for /D。转到包含父级的目录并执行以下命令:

for /D %i in (.\*) do @move %i\gallery\* %i\

或者,您可以使用不带 /S 标志的 rmdir 删除空的“gallery”文件夹,例如:

for /D %i in (.\*) do @(move %i\gallery\* %i\ && rmdir %i\gallery)

为了更好地控制文件操作,您可能需要研究robocopy,它比 先进得多move。还请注意,目录名称中的空格通常被解析为分隔符。例如,rmdir parent 1将删除目录“parent”和“1”,但不会删除“parent 1”。如果您的目录包含空格,请使用引号,例如:

for /D %i in (.\*) do @move "%i\gallery\*" "%i\"

相关内容