Batch file 使用批处理文件创建avi文件后,将其移动到其他驱动器

Batch file 使用批处理文件创建avi文件后,将其移动到其他驱动器,batch-file,Batch File,由于C://驱动器空间小,我花了数小时寻找和尝试代码,这些代码将通过我的X-Plane 11avi文件处理和移动来管理以下内容 Xplane11正在为我的C://驱动器创建*.avi文件。每个*.avi文件的大小约为2 GB Xplane11将继续创建*.avi文件,只要它继续记录航班 我需要一个批处理文件,该文件将执行以下操作: 检查C://上的*.avi文件及其状态 等待完成创建,然后将它们从C://驱动器移动到D://。那么。移动它们 继续此过程,直到模拟器录制完成且不再创建任何*.avi

由于
C://
驱动器空间小,我花了数小时寻找和尝试代码,这些代码将通过我的
X-Plane 11
avi
文件处理和移动来管理以下内容

  • Xplane11
    正在为我的
    C://
    驱动器创建
    *.avi
    文件。每个
    *.avi
    文件的大小约为2 GB
  • Xplane11
    将继续创建
    *.avi
    文件,只要它继续记录航班
  • 我需要一个批处理文件,该文件将执行以下操作:

  • 检查
    C://
    上的
    *.avi
    文件及其状态
  • 等待完成创建,然后将它们从
    C://
    驱动器移动到
    D://
    。那么。移动它们
  • 继续此过程,直到模拟器录制完成且不再创建任何
    *.avi
    文件
  • 我尝试过许多类似的代码变体:

    @echo关闭
    :循环
    如果不存在“C:\X-Plane 11\Output\*.avi”转到:结束
    如果存在(“C:\X-Plane 11\Output\*.avi”),请执行以下操作(
    如果%Errorlevel%gtr 0(
    echo Avi文件仍在创建中,请稍候!
    )否则(
    echo Avi已创建并正在移动!
    后藤:收到了
    )
    )
    :复制
    开始/w“移动”C:\X-Plane 11\Output\*.avi“D:\X-Plane 11\Output\New Captures
    环
    :结束
    echo Avi不存在!
    出口
    

    我发现的问题是,它不会等到
    *.avi
    完成后才移动,最好不要按任何控制台键,因为创建文件时我并不总是坐在模拟器旁。

    我已经找到了问题的部分批处理解决方案,查看了以前的stackoverflow解决方案及其编码人员的帮助(thx Mofi)。它将检查现有的.avi,并在创建完成后将其移动到另一个目录,并重复此过程,直到源位置不再存在.avi文件。我现在希望在移动时更改其名称,因为任何新的.avi文件都会覆盖以前的目录

    这是到目前为止我的新代码

    @echo off
    
    :loop
    
    
    if not exist "C:\X-Plane 11\Output\*.avi" (
    echo No more Avi files to move! 
    echo Will now Exit!
    pause
    goto :exit
    )
    ) else (
    if "!errorlevel!" GTR "0" (
    echo
    ) else (
    echo Please Wait.....
    for %%F in (C:\X-Plane 11\Output\*.avi) do (
    move "C:\X-Plane 11\Output\*.avi" "D:\X-Plane 11\Output\"
    )   
    
    PING localhost -n 10 >NUL   
    goto :loop
    )
    )
    )
    )
    :exit
    exit 
    

    如果您将
    X-Plane 11
    重新安装到磁盘d:?Hi JosefZ,我会假设
    .avi
    文件的默认目标更改为
    “d:\X-Plane 11\Output\*.avi”
    。但我的SSD C:/包含核心的XPlane 11应用程序,并且比我的HDD驱动器快得多。不过感谢您的建议:)你在哪里看到了一个
    If
    -
    Exist
    -
    Do
    或一个
    Start
    -
    -
    Wait
    -
    Move
    语句,因为我感觉这是我的第一次!