由于驱动器空间很小,我花了几个小时查看并尝试使用我的 X-Plane 11 avi 文件处理并移动的代码来管理以下内容 .

  • Xplane11 正在为我的 C:/ 驱动器创建 *.avi 文件 . 每个 *.avi 文件大小约为2 GB .

  • Xplane11 将继续创建 *.avi 文件,只要它继续记录航班 .

我需要一个批处理文件,它将执行以下操作:

  • 检查 C:/ 上的 *.avi 文件及其状态 .

  • 等待从 C:/ 驱动器到 D:/ 完成创建 before moving . 然后 . 移动它们 .

  • 继续此过程,直到模拟器记录完成并且不再创建 *.avi 文件 .

我尝试了许多与此类似的代码变体:

@echo off

:loop
if not exist "C:\X-Plane 11\Output\*.avi" goto :end

if exist ("C:\X-Plane 11\Output\*.avi") do (

If %Errorlevel% gtr 0 (
echo Avi file still being created please wait! 
) else (
echo Avi created and is now being moved!
goto :copy
)
)
:copy
start /w "" move "C:\X-Plane 11\Output\*.avi" "D:\X-Plane 11\Output\New Captures
loop

:end
echo Avi does not exist!
exit

我发现的问题是,它不会等到 *.avi 完成之前移动和首选没有任何控制台键按下,因为我不是总是坐在模拟器上创建文件 .