批量将不同子文件夹中的文件分别向上移动一级
Batch move files from different subfolder up one level respectively
我有数百个结构如下的文件夹:
PARENT\FolderA\Subfolder01\files1.iso
PARENT\FolderB\Subfolder02\files2.iso
PARENT\FolderC\Subfolder03\files3.iso
我想将所有 files1.iso
、files2.iso
、files3.iso
分别上移一级。应该是这样的。
PARENT\FolderA\files1.iso
PARENT\FolderB\files2.iso
PARENT\FolderC\files3.iso
更好的是可以删除不需要的 Subfolder01
、Subfolder02
、Subfolder03
。
如果可能的话,将 files1.iso
、files2.iso
、files3.iso
批量重命名为 FolderA.iso
、FolderB.iso
、[=27] =]分别。
我真的不知道如何解决这个问题。有人可以帮忙吗?
cd PARENT
for /D %%i in (*) do (
for /D %%j in (%%i\*) do (
move "%%j\*" "%%i\%%i.iso" 2>&1>nul && rmdir "%%j" 2>&1>nul
)
)
一个解释:
cd PARENT
只需确保您在根目录中工作,其余的工作正常
for /D %%i in (*) do (
这是一个 for 循环,对于工作目录中的每个目录,它将 %%i 设置为目录名称(例如 FolderA),然后执行以下操作:
for /D %%j in (%%i\*) do (
这是一个嵌套的 for 循环,对于 %%i 中的每个目录(在第一个循环中,FolderA),它将 %%j 设置为目录名称(在第一个循环中,FolderA\Subfolder01),然后执行以下:
move "%%j\*.iso" "%%i\%%i.iso" 2>&1>nul && rmdir "%%j" 2>&1>nul
将 %%j (FolderA\Subfolder01) 中以 .iso
结尾的所有内容移动到 %%i (FolderA),并重命名为 %%i.iso (FolderA.iso).如果可行,请删除 %%j 目录。将所有输出重定向到 nul
(即不产生任何输出)。
)
)
关闭循环。
我有数百个结构如下的文件夹:
PARENT\FolderA\Subfolder01\files1.iso
PARENT\FolderB\Subfolder02\files2.iso
PARENT\FolderC\Subfolder03\files3.iso
我想将所有 files1.iso
、files2.iso
、files3.iso
分别上移一级。应该是这样的。
PARENT\FolderA\files1.iso
PARENT\FolderB\files2.iso
PARENT\FolderC\files3.iso
更好的是可以删除不需要的 Subfolder01
、Subfolder02
、Subfolder03
。
如果可能的话,将 files1.iso
、files2.iso
、files3.iso
批量重命名为 FolderA.iso
、FolderB.iso
、[=27] =]分别。
我真的不知道如何解决这个问题。有人可以帮忙吗?
cd PARENT
for /D %%i in (*) do (
for /D %%j in (%%i\*) do (
move "%%j\*" "%%i\%%i.iso" 2>&1>nul && rmdir "%%j" 2>&1>nul
)
)
一个解释:
cd PARENT
只需确保您在根目录中工作,其余的工作正常
for /D %%i in (*) do (
这是一个 for 循环,对于工作目录中的每个目录,它将 %%i 设置为目录名称(例如 FolderA),然后执行以下操作:
for /D %%j in (%%i\*) do (
这是一个嵌套的 for 循环,对于 %%i 中的每个目录(在第一个循环中,FolderA),它将 %%j 设置为目录名称(在第一个循环中,FolderA\Subfolder01),然后执行以下:
move "%%j\*.iso" "%%i\%%i.iso" 2>&1>nul && rmdir "%%j" 2>&1>nul
将 %%j (FolderA\Subfolder01) 中以 .iso
结尾的所有内容移动到 %%i (FolderA),并重命名为 %%i.iso (FolderA.iso).如果可行,请删除 %%j 目录。将所有输出重定向到 nul
(即不产生任何输出)。
)
)
关闭循环。