【问题标题】:Batch file - copy two last modified files批处理文件 - 复制两个最后修改的文件
【发布时间】:2015-05-18 00:58:25
【问题描述】:

我想编写一个 .bat 文件来将目录 a 中特定扩展名 *.bak 的两个最后修改的文件移动到不同的目录。

我用这一行来复制文件:

robocopy D:\DailyBackup\IDMRObjects\SQLBackups SQLBackups *.bak /S

我是新手,不知道如何调整它以获得我需要的结果。

谢谢

【问题讨论】:

    标签: batch-file


    【解决方案1】:

    未测试:

    @echo off
    
    
    for /f "tokens=* delims=" %%# in (' dir /a:-d /o:-d /t:a  /b "D:\DailyBackup\IDMRObjects\SQLBackups SQLBackups\*.bak"') do (
       if not defined last set "pre_last=%%~f#"
       set "last=%%~f#"
    )
    copy /y "%last%" "c:\new_dir"
    copy /y "%pre_last%" "c:\new_dir"
    

    【讨论】:

      【解决方案2】:
      @echo off
      setlocal EnableDelayedExpansion
      
      cd "D:\DailyBackup\IDMRObjects\SQLBackups"
      set copied=0
      for /F "delims=" %%a in ('dir /B /A-D /O-D /T:W *.bak') do (
         copy "%%a" "other\dir"
         set /A copied+=1
         if !copied! equ 2 goto break
      )
      :break
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-07
        • 2018-09-02
        • 2023-03-22
        相关资源
        最近更新 更多