【问题标题】:Starting and ending batch files开始和结束批处理文件
【发布时间】:2014-05-29 17:31:17
【问题描述】:

我正在尝试使用 Camtasia 开始录制屏幕,但我正在使用批处理文件触发此操作。

由于我需要 30 秒长的录音,我有一个辅助批处理文件。它不能按预期工作,因为我想避免多个窗口执行打开的命令。我知道命令 taskkill 不正确,并包含它以说明我打算实现的目标。

批处理文件需要能够在 Windows 7 和 Windows 8 设备上运行。

该过程从一个启动批处理文件开始,该批处理文件启动辅助批处理文件以开始倒计时。

StartFile.bat

start EndFile.bat
"C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /record 

EndFile.bat

timeout /T 30 /NOBREAK
"C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /stop
timeout /T 30 /NOBREAK
taskkill /f /im StartFile.bat <-- To kill the first batch file so there aren't multiple windows
start StartFile.bat <-- To create a new instance of the starting batch file.
exit

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:

    只需在带有GOTO 循环的单个批处理文件中完成所有操作(编辑以考虑到 cmets 中的讨论;仅需要start,因为开始录制不会返回控制权):

    :startofloop
    start "" "C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /record
    timeout /T 30 /NOBREAK
    "C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /stop
    timeout /T 30 /NOBREAK
    goto startofloop
    

    【讨论】:

    • 这不起作用,因为 "C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /record timeout /T 30 /NOBREAK 不会启动,因为在调用命令 "C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /stop 之前,录制是永久的。
    • 您的意思是调用CamRecorder.exe 会占用命令提示符,直到进程停止,而不是打开记录器并立即返回?
    • 如果您将start "C:\Program Files\TechSmith\Camtasia Studio 8\CamRecorder.exe" /record 作为第二行,它会起作用吗?
    • 如果您在我的批处理文件版本的第二行以单词start 开头是否有效?
    • 不,它没有。我得到的错误是 /record 是一个无效的开关
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    相关资源
    最近更新 更多