【问题标题】:Batch file won't kill process and close console window批处理文件不会杀死进程并关闭控制台窗口
【发布时间】:2018-05-18 22:53:43
【问题描述】:

批次对我来说是个谜。这是情况。我使用鼠标宏程序创建了一个自动点击我的屏幕的 .exe。我想通过将它添加到我的任务计划程序来自动化它。这是程序创建的代码:

@echo off
REM ************ Built by MiniMouseMacro.exe **********
cls
mode con lines=11 cols=115
title=Mini Mouse Macro - Turnssoft.com
color 0A
echo * Mini Mouse Macro *
echo   - "C:\Users\John Doe\Desktop\MiniMouseMacro.exe" /m "C:\Users\John Doe\Desktop\TestKlik.mmmacro"
echo   - Running C:\Users\John Doe\Desktop\TestKlik.mmmacro...
"C:\Users\John Doe\Desktop\MiniMouseMacro.exe" /m "C:\Users\John Doe\Desktop\TestKlik.mmmacro"

它打开宏程序,加载宏文件(.mmmacro)并执行。这行得通。但是,它使控制台窗口保持打开状态+使宏程序保持打开状态(鼠标单击会打开一个新程序,控制台窗口可能会失去焦点还是什么?)。我尝试通过将其添加到脚本来解决此问题:

echo   - killing process
taskkill /im "MiniMouseMacro.exe" /f
end

但是什么也没发生。我怎样才能使这个脚本工作,也可能使它看起来更干净(我不需要所有的文本输出)。

【问题讨论】:

    标签: batch-file cmd windows-7


    【解决方案1】:

    当您运行程序时,cmd 将等待程序完成后再继续。要更改此设置,请在启动鼠标程序时使用start 命令。

    cd "C:\Users\John Doe\Desktop\"
    start "" "MiniMouseMacro.exe /m TestKlik.mmmacro"
    

    这将允许您使用 taskkill 关注它

    【讨论】:

    • 添加一个timeout -t 2 让exe有机会做,在你杀死它之前它应该做什么。
    • 这行得通,谢谢。超时也是一个非常受欢迎的补充。
    猜你喜欢
    • 2015-08-09
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2011-01-31
    • 2015-12-20
    • 2021-12-05
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多