[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] bat能在多次运行“同1个.exe”情况下,只保留一个进程吗?

本帖最后由 yyz219 于 2022-4-24 21:51 编辑

批处理有没有办法在多次运行“按F6发送Alt+e.exe”情况下,只保留一个“按F6发送Alt+e.exe”进程吗?

谢谢
我是小白,希望老师多多帮助

回复 7# yakeyun

还有我对“模拟键鼠操作插件”还不懂(刚刚接触,又不懂得英文)
我是小白,希望老师多多帮助

TOP

回复 7# yakeyun


    我就是想试一试,能不能实现:在选定几个文件的情况下,右键——反向全选————的功能能呀

反向全选2.rar:
https://pan.baidu.com/s/1450Ohb7KSl5wBGBmJeWypg
我是小白,希望老师多多帮助

TOP

本帖最后由 yakeyun 于 2022-4-25 11:21 编辑

回复 6# yyz219


最好动作步骤有一个录屏,这样可以直接反馈出操作步骤和要达到的目的。
都已经用了模拟键鼠操作插件了,就没必要条用VBS。VBS对于全局按键有反馈,如果只是针对某个程序窗口,需要先保证窗口激活情况下才能生效。

TOP

本帖最后由 yyz219 于 2022-4-25 10:59 编辑

回复 2# yakeyun
运行这个批处理,确实能够确保一个进程
**********************************
但是,我的实验(我想试一试能不能实现【就是模拟:Alt+e+I】:右键--反向全选)没有成功

1.安装右键菜单:
@echo off
reg add "HKCR\AllFilesystemObjects\shell\Item1" /f /v "MUIVerb" /t REG_SZ /d "反向全选"
reg add "HKCR\AllFilesystemObjects\shell\Item1\command" /f /ve /t REG_SZ /d "%~dp0反向全选.bat \"%%1\""
exit

2.反向全选.bat:

@echo off
tasklist|Find "按F6发送Alt+e.exe" >nul && (taskkill /im 按F6发送Alt+e.exe & start 按F6发送Alt+e.exe)
tasklist|Find "按F6发送Alt+e.exe" >nul || (start 按F6发送Alt+e.exe)
start "" D:\PE整理碎片(很好)\修改PE\程序\ahk绿色版\ahk代码\反向全选2\快捷键.vbs
exit

3.按F6发送Alt+e.exe
https://pan.baidu.com/s/1Zv_4Kou8ATbcQQK7gWdNrA

4.快捷键.vbs:
WScript.Sleep 500
createobject("wscript.shell").sendkeys "{F6}"
WScript.Sleep 500
createobject("wscript.shell").sendkeys "{I}"
WScript.Sleep 500
createobject("wscript.shell").run "cmd.exe /c taskkill /f /im 按F6发送Alt+e.exe /t",0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以上方法,在选定一个文件的情况下,右键——反向全选————————能够成功

在选定几个文件的情况下,右键——反向全选————————就会出现几个按F6发送Alt+e.exe进程,也不能够成功
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
删除右键.bat:
@echo off
reg delete "HKCR\AllFilesystemObjects\shell\Item1" /f
exit
我是小白,希望老师多多帮助

TOP

感谢两位,我去试一试先
我是小白,希望老师多多帮助

TOP

本帖最后由 yakeyun 于 2022-4-25 10:09 编辑

回复 3# Batcher

我理解的意思是,引号里面的内容就是程序名称,代码只是一个参考。由于程序名称和进程名称也会存在不一致的情况,具体情况需要贴主根据情况修改,或者把需求描述清楚。

调用文件最好不要包含中文,老大的思路也是对的,如果程序执行比较快,或者调用时间间隔长,就需要加一个判断不存在进程的情况,代码已修改。

TOP

回复 2# yakeyun


    如果这个思路能符合楼主要求,那么tasklist+find可以去掉,直接taskkill管它有没有直接结束再说。
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 yakeyun 于 2022-4-25 10:07 编辑

回复 1# yyz219

把这个代码加进去就可以实现了:
  1. tasklist|Find "按F6发送Alt+e.exe" >nul && (taskkill /im 按F6发送Alt+e.exe & start 按F6发送Alt+e.exe)
  2. tasklist|Find "按F6发送Alt+e.exe" >nul || (start 按F6发送Alt+e.exe)
复制代码
1

评分人数

TOP

返回列表