怎样用批处理阻止一个程序运行

怎样用批处理阻止一个程序运行,第1张

1、使用taskkill命令:具体功能如下

TASKKILL [/S system [/U username [/P [password]]]]

{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:

使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:

/S system 指定要连接的远程系统。

/U [domain\]user 指定应该在哪个用户上下文执行这个命令。

/P [password] 为提供的用户上下文指定密码。如果忽略,提示

输入。

/FI filter 应用筛选器以选择一组任务。

允许使用 ""。例如,映像名称 eq acme

/PID processid 指定要终止的进程的 PID。

使用 TaskList 取得 PID。

/IM imagename 指定要终止的进程的映像名称。通配符 ''可用来

指定所有任务或映像名称。

/T 终止指定的进程和由它启用的子进程。

/F 指定强制终止进程。

/ 显示帮助消息。

筛选器:

筛选器名 有效运算符 有效值

----------- --------------- -------------------------

STATUS eq, ne RUNNING |

NOT RESPONDING | UNKNOWN

IMAGENAME eq, ne 映像名称

PID eq, ne, gt, lt, ge, le PID 值

SESSION eq, ne, gt, lt, ge, le 会话编号。

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

MODULES eq, ne DLL 名称

SERVICES eq, ne 服务名称

WINDOWTITLE eq, ne 窗口标题

说明

----

1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 ''。

2) 远程进程总是要强行 (/F) 终止。

3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。

例如:

TASKKILL /IM notepadexe

TASKKILL /PID 1230 /PID 1241 /PID 1253 /T

TASKKILL /F /IM cmdexe /T

TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle"

TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepadexe

TASKKILL /S system /U domain\username /FI "USERNAME ne NT" /IM

TASKKILL /S system /U username /P password /FI "IMAGENAME eq note"

2、批处理中做循环,下面死循环可以实现你的目标,禁止名字为1exe的文件执行

:loop

taskkill /f /im 1exe

goto loop

禁用程序的BAT

如果电脑安装了安全类软件,可能会d出拦截窗口。

@echo off

setlocal enabledelayedexpansion

set k=HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

reg add %k% /v DisallowRun /t REG_DWORD /d 1 /f

for %%i in (qvod thunder pps) do (

set /a n+=1

reg add %k%\DisallowRun /v !n! /d %%iexe /f

)

taskkill /f /im explorerexe

start explorer

bat文件使用的命令没有这样的功能,不过你可以设置让bat后台运行,那么用户就很难察觉程序的运行,自然也就容易运行程序直到其结束了。

方法是:

编辑一个vbs脚本,在其中以隐藏窗口运行bat文件

Set s = CreateObject("WscriptShell")

srun "cmd /c 批处理程序名",vbhide

将将上面的代码拷贝到记事本中,保存为"runbatvbs"或者其它的名字(扩展名必须是vbs),然后点击运行生成的脚本runbatvbs,即可隐藏运行指定的bat文件。

在DOS命令中有一个命令是pause,它的作用是输出提示信息"Press any key to continue“

,然后用户随意敲一个键后程序继续运行。

pause 它会提示“请按任意键继续”

,pause命令没有任何的参数,它的命令就是它的本身,当pause命令运行后,会中断执行的语句。这个中断不是立即停止,只是暂停,按下任意键之后就会继续执行下面的语句。而且应该不止可以用一次,在一个批处理命令中,可以尝试使用多个pause命令。

我想把这个提示文字自定义,改成其他的。像“请按任意键开始或结束”或者直接将提示删除了,保留停顿功能,用以下方式可以实现:

echo 请按任意键开始或结束

pause>nul

用bat2exe工具将bat文件转换为exe文件,便不能用记事本打开了。

楼下的方法是对文件添加访问权限,但cacls命令仅对NTFS格式磁盘下的文件有效,对FAT是无效的,而且这样设置后你也不能编辑或运行这个文件了。

1、右击电脑桌面任意空白区域,在展开的菜单中点击“新建”按钮,然后点击“文本文档”按钮:

2、双击之前新建的文本文档,这里以关闭“exampleexe”程序为例,输入代码“@echoofftaskkill/f/imexampleexe”,然后将文本保存:

3、用鼠标将文件选中,按下键盘上的“F2”键,然后将文件后缀从“txt”改成“bat”,这时双击这个文件即可关闭指定程序:

以上就是关于怎样用批处理阻止一个程序运行全部的内容,包括:怎样用批处理阻止一个程序运行、关于禁用程序的BAT。、如何让bat程序无法关闭啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10177044.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存