Board logo

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

作者: yyz219    时间: 2022-4-24 21:44     标题: bat能在多次运行“同1个.exe”情况下,只保留一个进程吗?

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

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

谢谢
作者: yakeyun    时间: 2022-4-24 23:01

本帖最后由 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)
复制代码

作者: Batcher    时间: 2022-4-25 08:37

回复 2# yakeyun


    如果这个思路能符合楼主要求,那么tasklist+find可以去掉,直接taskkill管它有没有直接结束再说。
作者: yakeyun    时间: 2022-4-25 09:29

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

回复 3# Batcher

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

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

感谢两位,我去试一试先
作者: yyz219    时间: 2022-4-25 10:56

本帖最后由 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
作者: yakeyun    时间: 2022-4-25 11:19

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

回复 6# yyz219


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

回复 7# yakeyun


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

反向全选2.rar:
https://pan.baidu.com/s/1450Ohb7KSl5wBGBmJeWypg

作者: yyz219    时间: 2022-4-25 11:33

回复 7# yakeyun

还有我对“模拟键鼠操作插件”还不懂(刚刚接触,又不懂得英文)




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2