使用批处理脚本将文件从一个文件夹移动到具有相同层级和文件夹名称的另一个文件夹?
问题描述:
所以,我希望将所有转换后的文件夹下的文件从主源文件夹移动到具有相同层次结构的另一个输出文件夹。使用批处理脚本将文件从一个文件夹移动到具有相同层级和文件夹名称的另一个文件夹?
Source
-done
-converted
-folder1
-done
-converted
-folder11
-done
-converted
-folder2
-done
-converted
TO
Output
(files from converted folder)
-folder1
(files from converted folder)
-folder11
(files from converted folder)
-folder2
(files from converted folder)
我是新来的一批脚本的话,我会很感激,如果你能帮助我以某种方式。 谢谢!
答
@ECHO OFF
SETLOCAL
SET source=c:\sourcedir
SET destroot=c:\destdir
SET cdtl=0
:loploop
SET /a cdtl+=1
FOR /f "tokens=%cdtl%*delims=\" %%i IN ("%source%") DO IF NOT "%%j"=="" GOTO loploop
FOR /f "delims=" %%i IN (
' dir /b/s/ad "%source%\converted" '
) DO CALL :movedest "%%~dpni%"
)
GOTO :eof
:movedest
SET destdir=%~1
FOR /f "tokens=%cdtl%*delims=\" %%d IN (%1) DO SET destdir=%destroot%\%%e
ECHO MD "%destdir%" 2>NUL
ECHO MOVE /y "%~1\*.*" "%destdir%\"
GOTO :eof
倒数第二行中的ECHO
简单地显示了所提出的操作。在您确认了您想要的操作后,只需删除ECHO
关键字即可执行此操作。
请注意,MOVE
命令中的/y
开关将覆盖文件的任何现有目标版本。
请向我们展示您已拥有的代码。 – Endoro 2013-03-18 07:47:11
结合mfm4aa的说法,查看[问]。 – 2013-03-18 08:04:16