如何用cmd编辑一个启动关闭的bat小程序

如何用cmd编辑一个启动关闭的bat小程序,第1张

进程查看命令和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 等待程序关闭等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10084493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存