Batch file 批处理-如何在另一个目录中移动最旧的文件

Batch file 批处理-如何在另一个目录中移动最旧的文件,batch-file,cmd,video-capture,Batch File,Cmd,Video Capture,我最近开始做一些视频录制,我想用FRAPS以60 FPS/1080p的速度录制我玩的游戏。问题是,我的硬盘速度不够快,无法在此设置下录制,而且我有一个SSD。由于没有太多空间,我创建了一个批处理文件,在播放时自动将.avi从我的SSD移动到我的HDD,而不会填满我的SSD(我每4GB分割一次视频)。这是我的密码: @echo off :loop move C:\FrapsFilmBuffer\*.avi E:\Random\Fraps\Film timeout /t

我最近开始做一些视频录制,我想用FRAPS以60 FPS/1080p的速度录制我玩的游戏。问题是,我的硬盘速度不够快,无法在此设置下录制,而且我有一个SSD。由于没有太多空间,我创建了一个批处理文件,在播放时自动将.avi从我的SSD移动到我的HDD,而不会填满我的SSD(我每4GB分割一次视频)。这是我的密码:

 @echo off

 :loop
      move C:\FrapsFilmBuffer\*.avi E:\Random\Fraps\Film
      timeout /t 80
 goto loop
我的问题是,我无法从“FrapsFilmBuffer”中移动文件,因为脚本可能会在有一个文件记录到4GB时尝试移动它们。我想修改脚本,使其移动最旧的文件。这样,它就不会试图移动所有的文件,并且因为在我的SSD上一点一点地保存的文件而失败

非常感谢

for /f "delims=" %%a in (
    'dir /b /a-d /tw /od "C:\FrapsFilmBuffer\*.avi"'
) do move "C:\FrapsFilmBuffer\%%a" "E:\Random\Fraps\Film" & goto fileMoved
:fileMoved
按日期顺序获取文件列表时,您将获得列表中第一个最旧的文件。移动它并离开循环

按日期顺序获取文件列表时,您将获得列表中第一个最旧的文件。移动它并离开循环