标题: [文件操作] 批处理求教:根据进程是否存在执行不同的操作 [打印本页]
作者: imnnt 时间: 2015-9-3 19:27 标题: 批处理求教:根据进程是否存在执行不同的操作
批处理命令“M”
---------------------------------------------
要求:
寻找A.exe并运行
找不到A.exe,结束命令“M”并回显“提示001”
找得到A.exe,运行A.exe .当A.exe(进程A.exe)自己运行结束 结束命令“M”
以下是例子:但缺乏 当A.exe(进程A.exe)自己运行结束 结束命令“M” 求补充- @echo off
- set "str=A.exe"
- set "drv=c d e f g h i j k l m n o p q r s t u v w x y z"
- for %%a in (%drv%) do (
- if exist %%a: (
- for /f "delims=" %%b in ('dir /s/b/a-d "%%a:\%str%" 2^>nul') do (
- if not "%%b"=="" (
- start "" "%%b"
- exit
- )
- )
- )
- )
复制代码
作者: pcl_test 时间: 2015-9-3 19:32
本版规则
1、求助时,务必在顶楼一次性把问题交代清楚,建议给出完整有针对性的样本,样本过大可发网盘分享链接。勿发无意义的标题
2、使用 code 标记把代码部分括起来(单击回复框的 <> 按钮,复制粘贴代码进去),以便复制。问题解决后,请编辑顶楼帖子在标题前面注明[已解决]http://www.bathome.net/thread-3473-1-1.html
3、提问前先使用论坛搜索,相同或类似的问题就无需再发帖了
作者: imnnt 时间: 2015-9-3 20:11
回复 2# pcl_test
已修正
作者: 回家路上 时间: 2015-9-3 23:10
不用start命令,用call命令
start另起窗口线程了,就监控不到了
call执行完后,继续往下走。
作者: bailong360 时间: 2015-9-4 13:54
仍然未看懂
作者: /zhqsystem/zhq 时间: 2015-9-27 22:40
- @echo off
- for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z a b) do (
- if exist "%%i:\" (
- for /f "delims=" %%j in ('dir/a-d/s/b/l/on "%%i:\*.exe"') do (
- tasklist|findstr/i "a.exe">nul2>nul||(
- if /i "%%~nxj"=="a.exe" (
- start/i "" "%%j"
- tasklist|findstr/i "%%~nxj">nul2>nul&&(tasklist|findstr/i "m.exe">nul2>nul&&taskkill /f /t /im "m.exe")
- )
- tasklist|findstr/i "m.exe">nul2>nul&&(taskkill /f /t /im "m.exe"&echo=提示001)
- )
- )
- )
- )
- pause
复制代码
真没见过这么乱的提问,只能按照大概编写了,注意:M≠CMD
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |