用DOS命令怎样实现只复制一文件夹内修改日期最新的单一文件。

如题所述

@echo off&setlocal enabledelayedexpansion
for /d /r D:\project %%a in (*) do (
   cd /d "%%a"
   set m=0
   for /f "tokens=4" %%i in ('dir /a-d /tc /od^|sort /r') do (
      set /a m+=1
      if !m!==1 xcopy /i /f "%%i" "e:%%~pi"
   )

pause

追问

上面的语句不太明白。比如在D盘bak文件夹下有1.rar、2.rar、3.rar三个文件,其中3.rar为最新保存的文件,现要用批处理文件实现只复制最新保存的单一文件到E盘bak文件下,语句怎样写?

追答@echo off&setlocal enabledelayedexpansion
for /f "tokens=4" %%i in ('dir /a-d /tc /od *.rar^|sort /r') do (
      set /a m+=1
      if !m!==1 xcopy /i /f "%%i" "e:bak\%%~pi"
)
pause

追问

感谢

再请问一下,如果我要同时作用在两个文件夹呢?例如D盘下另一个bak2

温馨提示:答案为网友推荐,仅供参考
相似回答