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

时间:2014-05-11 21:15:24

标签: batch-file cmd video-capture

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

 @echo off

 :loop
      move C:\FrapsFilmBuffer\*.avi E:\Random\Fraps\Film
      timeout /t 80
 goto loop

我的问题是我无法从#34; FrapsFilmBuffer"移动文件。因为脚本可能会尝试移动它们,而正在录制直到4GB的脚本。我想修改我的脚本,使其移动最旧的文件。这样,它就不会尝试移动所有文件并因为我的SSD上一点一点地保存而失败

非常感谢!

1 个答案:

答案 0 :(得分:3)

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

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