【发布时间】:2015-05-18 00:58:25
【问题描述】:
我想编写一个 .bat 文件来将目录 a 中特定扩展名 *.bak 的两个最后修改的文件移动到不同的目录。
我用这一行来复制文件:
robocopy D:\DailyBackup\IDMRObjects\SQLBackups SQLBackups *.bak /S
我是新手,不知道如何调整它以获得我需要的结果。
谢谢
【问题讨论】:
标签: batch-file
我想编写一个 .bat 文件来将目录 a 中特定扩展名 *.bak 的两个最后修改的文件移动到不同的目录。
我用这一行来复制文件:
robocopy D:\DailyBackup\IDMRObjects\SQLBackups SQLBackups *.bak /S
我是新手,不知道如何调整它以获得我需要的结果。
谢谢
【问题讨论】:
标签: batch-file
未测试:
@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"
【讨论】:
@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
【讨论】: