用进程查看命令和For命令配合,前一个获得当前进程列表,检查是否是Smc,如果是,关闭。这个在前面,要先执行。
如果没有Smc进程,打开Smc。用循环,得到一个数字,当Smc已经运行时获得1,关闭Smc,并退出DOS。没有运行时,默认为0,后面就可以根据这个1和0,是否打开Smc。
我想了一个最简单的方法
taskkill /f /im Smcexe 这个命令用来关闭Smcexe
start Smcexe 打开Smcexe
@echo off
::设置固定目录路径
set dir=
for /r "%dir%" %%a in (exe) do taskkill /f /im "%%~nxa"
以上代码就会获取你指定路径下所有exe程序,然后结束它们。
@echo off
set taskname=wscriptexe
echo%taskname%未运行,
echo等待%taskname%运行
echo
echo
goto :loop1
:loop1
for /f %%a in ('tasklistexe /FI "IMAGENAME eq %taskname%" /FI "STATUS eq RUNNING" /FO TABLE /NH^|findexe /i "%taskname%"') do (
echo发现%taskname%正在运行,
echo等待%taskname%运行结束
echo
echo
goto :loop2
)
ping 1271 -n 2 >nul 2>nul
goto :loop1
:loop2
for /f %%a in ('tasklistexe /FI "IMAGENAME eq %taskname%" /FI "STATUS eq RUNNING" /FO TABLE /NH^|findexe /i "没有"') do (
echo%taskname%未运行,
echo等待%taskname%运行
echo
echo
goto :loop1
)
ping 1271 -n 2 >nul 2>nul
goto :loop2
如果检测到运行后需要暂停提示的话,修改loop1里面的for循环中的goto语句,改为pause即可
第一个loop是检测是否允许,如果运行,则提示已运行,然后跳转到第二个loop检测是否终止运行,如果终止运行,跳回第一个loop如此循环检测。
你好
首先 新建一个 bat 文件
里面的代码 taskkill -im bf3exe -f
右键 创建 快捷方式
然后在这个 快捷方式 右键 属性
如图 所示
设置 快捷键 F7
taskkill
/f
/im
Explorerexe
(关闭Explorerexe进程)
具体可以参照:
TASKLIST
[/S
system
[/U
username
[/P
[password]]]]
[/M
[module]
|
/SVC
|
/V]
[/FI
filter]
[/FO
format]
[/NH]
描述:
这个命令行工具显示应用程序和本地
或远程系统上运行的相关任务/进程的
列表。
参数列表:
/S
system
指定连接到的远程系统。
/U
[domain\]user
指定应该在哪个用户上下文
执行这个命令。
/P
[password]
为提供的用户上下文指定
密码。如果忽略,提示输入。
/M
[module]
列出所有其中符合指定模式名
的
DLL
模块的所有任务。
如果没有指定模块名,则
显示每个任务加载的所有模块。
/SVC
显示每个进程中的服务。
/V
指定要显示详述
信息。
/FI
filter
显示一系列符合筛选器指定的标准
的任务。
/FO
format
指定输出格式。
有效值:
"TABLE"、"LIST"、"CSV"。
/NH
指定栏标头不应该在
输出中显示。
只对
"TABLE"
和
"CSV"
格式有效。
/
显示帮助/用法。
筛选器:
筛选器名
有效 *** 作符
有效值
-----------
---------------
--------------
STATUS
eq,
ne
正在运行
|
没有响应
IMAGENAME
eq,
ne
图像名
PID
eq,
ne,
gt,
lt,
ge,
le
PID
值
SESSION
eq,
ne,
gt,
lt,
ge,
le
会话编号
SESSIONNAME
eq,
ne
会话名
CPUTIME
eq,
ne,
gt,
lt,
ge,
le
CPU
时间,格式为
hh:mm:ss。
hh
-
时,
mm
-
分,ss
-
秒
MEMUSAGE
eq,
ne,
gt,
lt,
ge,
le
内存使用量(KB)
USERNAME
eq,
ne
用户名,格式为
[domain\]user
SERVICES
eq,
ne
服务名
WINDOWTITLE
eq,
ne
窗口标题
MODULES
eq,
ne
DLL
名
例如:
TASKLIST
TASKLIST
/M
TASKLIST
/V
TASKLIST
/SVC
TASKLIST
/M
wbem
TASKLIST
/S
system
/FO
LIST
TASKLIST
/S
system
/U
domain\username
/FO
CSV
/NH
TASKLIST
/S
system
/U
username
/P
password
/FO
TABLE
/NH
TASKLIST
/FI
"USERNAME
ne
NT
AUTHORITY\SYSTEM"
/FI
"STATUS
eq
running"
TASKKILL
[/S
system
[/U
username
[/P
[password]]]]
{
[/FI
filter]
[/PID
processid
|
/IM
imagename]
}
[/F]
[/T]
描述:
这个命令行工具可用来结束至少一个进程。
可以根据进程
id
或图像名来结束进程。
参数列表:
/S
system
指定要连接到的远程系统。
/U
[domain\]user
指定应该在哪个用户上下文
执行这个命令。
/P
[password]
为提供的用户上下文指定
密码。如果忽略,提示输入。
/F
指定要强行终止
进程。
/FI
filter
指定筛选进或筛选出查询的
的任务。
/PID
process
id
指定要终止的进程的
PID。
/IM
image
name
指定要终止的进程的
图像名。通配符
''
可用来指定所有图像名。
/T
Tree
kill:
终止指定的进程
和任何由此启动的子进程。
/
显示帮助/用法。
以上就是关于如何用cmd编辑一个启动关闭的bat小程序全部的内容,包括:如何用cmd编辑一个启动关闭的bat小程序、bat 关闭指定路径下所有程序、bat 等待程序关闭等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)