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 GBXplane11
将继续创建*.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
语句,因为我感觉这是我的第一次!