我有一个包含许多子文件夹的文件夹,每个子文件夹都包含不同的文件:
C:/folder/subfolder1/file1.jpg,
C:/folder/subfolder2/file2.jpg,
C:/folder/subfolder3/file3.jpg,
etc.
如何创建将子文件夹中的文件移动到文件夹的批处理文件,然后删除空的子文件夹。
即。运行bat文件后,文件夹结构应如下所示:
C:/folder/file1.jpg
C:/folder/file2.jpg
C:/folder/file3.jpg
etc.
答案 0 :(得分:7)
试试这个
@echo off
for /f "tokens=*" %%f in ('dir /a:-D /s /b') do move "%%f" .
for /f "tokens=*" %%f in ('dir /a:D /s /b') do rd "%%f"
答案 1 :(得分:0)
这将遍历%root%
(C:\文件夹)中的每个文件夹,并将内容复制到%root%
-
@echo off
set root=c:\folder
for /f %%a in ('dir /b /ad %root%') do (
for /f %%b in ('dir /b %root%\%%a') do move "%root%\%%a\%%b" "%root%\%%b"
rmdir "%root%\%%a"
)
答案 2 :(得分:0)
我用它作为批处理文件从当前文件夹中的子文件夹移动所有文件,然后删除空文件夹。
rem Copy all files from subfolders in the current folder to the current folder.
for /R %cd% %%G IN (*.*) DO move /Y "%%G"
rem Move all directories into a temp folder in the current folder.
for /D %%I in (*) do move /y %%I %cd%\temp
rem Remove the temp folder including empty folders.
rmdir /s/q %cd%\temp