标题: [文件操作] 用批处理实现拷贝大于30天的文件,找大神帮忙 [打印本页]
作者: zh_y 时间: 2018-1-30 10:20 标题: 用批处理实现拷贝大于30天的文件,找大神帮忙
本帖最后由 zh_y 于 2018-1-30 10:23 编辑
我想用批处理实现拷贝大于30的文件,并且按照原有的文件目录拷贝。
forfiles /p "D:\123" /s /m *.* /d -30 /c "cmd /c dir @path /b/s">"E:\outfile.txt"用这个 可以实现 查找到D盘123里大于30天的文件,并且把路径输出到outfile.txt
forfiles /p "D:\123" /s /m *.* /d -30 /c "cmd /c xcopy @path "E:\132" /d /e /r /k /y /i /c" 用这个 可以实现查找到D盘123里大于30天的文件,然后拷贝到E盘132里,但是拷贝过来后不是按照D 123的层级目录。
请教大神,如何实现 把大于30天的文件,按照原有的层级目录实现拷贝
作者: yhcfsr 时间: 2018-1-30 13:25
- @echo off
- set "SourDir=D:\123"
- set "DestDir=E:\132"
- set "OutFile=E:\outfile.txt"
-
- forfiles /p "%SourDir%" /s /m *.* /d 0 /c "cmd /c echo @path">"%OutFile%"
- for /f "usebackq delims=" %%a in ("%OutFile%") do (
- setlocal enableDelayedExpansion
- set "FilePath=%%~dpa"&&set "FilePath=!FilePath:%SourDir%=!"&&set "FilePath=!FilePath:~1,-1!"
- robocopy "%SourDir%\!FilePath!" "%DestDir%\!FilePath!" "%%~nxa"
- endlocal
- )
- pause&exit
复制代码
作者: kingshui 时间: 2018-1-30 17:36
不一定要用forfiles,建议用robocopy...
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |