我有这个结构:
Folder Root
Folder A
Folder 1
file1.jpg
file2.jpg
Folder 2
file3.jpg
Folder B
Folder 1
file4.jpg
Folder C
Folder 1
file5.jpg
file6.jpg
file7.jpg
file8.jpg
Folder 2
file9.jpg
file10.jpg
现在我希望A子文件夹中的所有文件都在A中,B在B中,依此类推 使用此代码:
for /r %f in (*) do move "%f"
我必须手动输入每个文件夹(A,B,C),这不是一个选项,我有数百个需要此操作的目录。
有没有办法从Folder Root运行命令并递归滚动到A,B和C并从各自的子文件夹中移动文件?
答案 0 :(得分:1)
编辑:
在您的文件夹副本上进行测试。
@echo off
for /d %%a in (*) do for /f "delims=" %%b in ('dir "%%a\*.jpg" /b /s /a-d') do move "%%b" "%%a"
答案 1 :(得分:0)
我已经解决了这个问题。嵌套fors只是赢了不会。我的解决方案如下。
使用此代码
创建文件moveToRoot.batfor /r %%f in (*) do move "%%f"
使用此代码创建文件moveToRootBase.bat
for /D %%d in (*) do (
copy copiaARaiz.bat "%%d"
cd "%%d"
copiaARaiz.bat
del copiaARaiz.bat
cd..)
从Folder Root执行moveToRootBase.bat并完成!