我正在使用WinSendKeys程序(http://ath.dcmembers.com/wb/pages/software/winsendkeys.php)尝试自动录制连接摄像机的视频。
这是我的设置:
我正在使用带有FireWire连接的便携式摄像机的Windows Vista计算机。我使用Sony PlayMemories的PMBTapeImporter.exe(又名。"从磁带导入")程序将视频直接从摄像机录制到计算机的硬盘上。我需要每30分钟录制1分钟的视频。
要自动执行此任务,我使用的是WinSendKeys和此批处理文件:
REM Go to directory with the WinSendKeys program
cd \Users\Seibel\Documents\WinSendKeys
REM Start the program
start WinSendKeys.exe
REM Open PMBTapeImporter.exe, then after a 20,000 msec pause tab 5 times
WinSendKeys -x "C:\Program Files\Sony\PlayMemories Home\TapeImporter\PMBTapeImporter.exe" -xd 20000 -w PMBTapeImporter.exe {TAB}{TAB}{TAB}{TAB}{TAB}
REM Click the mouse 100 pixels down the "Import from Tape" window and 10 pixels inward (this is along the menu bar to bring this window to the front)
WinSendKeys -m "Import from Tape" #%,100,10
REM Click the space bar to select the highlighted "Import" button
WinSendKeys -w PMBTapeImporter.exe {SPACE}
FOR /L %%A IN (1,1,5) DO (
REM wait 10 seconds
timeout 10 /nobreak
WinSendKeys -m "Import from Tape" #%,100,10
REM select the button again to stop recording
WinSendKeys -w PMBTapeImporter.exe {SPACE}
REM wait 20 seconds
timeout 20 /nobreak
WinSendKeys -m "Import from Tape" #%,100,10
REM select the button to begin recording again
WinSendKeys -w PMBTapeImporter.exe {SPACE}
)
目前我只是每隔20秒录制一段10秒钟的视频,直到我解决了我的问题。
我的问题是for循环中的第一个WinSendKeys -w PMBTapeImporter.exe {SPACE}
命令永远不会起作用,我无法弄清楚原因。在20秒暂停后的第二个WinSendKeys -w PMBTapeImporter.exe {SPACE}
总是有效但从不是第一个。我做错了什么?
附件是此批处理文件运行时指向计算机视频的链接。
答案 0 :(得分:1)
Escaping Percents。 %
字符对命令行参数和FOR
参数具有特殊含义。要将百分比视为批处理文件中的常规字符,请将其加倍:%%
WinSendKeys -m "Import from Tape" #%%,100,10