禁用电脑所有计划任务的皮处理器
本帖最后由 Love0912 于 2024-8-18 17:08 编辑按照惯例声明两句:
这个批处理的初衷是为了提高电脑运行效率,优化电脑性能,禁用掉这些开机计划任务,禁用不等于删除,在你需要的时候依旧可以运行他们,只是不会开机自动启动过而已,从而可以让你开机的时间快一些~
好了声明完毕,然后就是重要缓解,手头富裕的话,热心值和吾爱币给点一点,光看不点可不是好同学~{:301_972:}
下面是代码:
@echo off & setlocal EnableDelayedExpansion
set "cmdhead=schtasks /change /disable /tn "
set "filelist=%TMP%\filelist.txt"
set "filebat=%TMP%\myschtasks.bat"
set "dir_tasks=C:\Windows\System32\Tasks"
dir /a-d /b /s %dir_tasks% > %filelist%
echo @echo off > %filebat%
set j=0
for /f "delims="%%i in (%filelist%) do (
set /a j+=1
set line!j!=%%i
call set a=%%line!j!%%
echo %cmdhead%"!a:~25!" >> %filebat%
)
call %filebat%
del/q /f %filelist%
del/q /f %filebat%
exit
下面是关于这个代码的逐行解释(偷了个懒,用百度AI进行的翻译解释,别说,真好用!!)
这段批处理脚本的目的是禁用Windows系统中的所有计划任务,而不是删除它们。这意味着这些任务仍然存在,但不会按计划执行,这可以防止它们对系统性能产生潜在影响或在不希望的时间运行。以下是脚本的详细解释:1.初始化:
[*]@echo off:关闭命令的回显,使得执行时不会显示每条命令。
[*]setlocal EnableDelayedExpansion:启用延迟变量扩展,允许在一个代码块(如for循环)中动态更新和使用变量的值。
2.设置变量:
[*]cmdhead:存储schtasks /change /disable /tn命令的前缀,用于禁用计划任务。
[*]filelist:临时文件,存储所有计划任务的路径。
[*]filebat:临时批处理文件,包含禁用所有计划任务的命令。
[*]dir_tasks:计划任务存储的目录。
3.查找所有计划任务:
[*]使用dir命令查找C:\Windows\System32\Tasks目录下所有文件,不包括目录本身,并将结果输出到filelist文件中。
4.创建批处理文件以禁用任务:
[*]创建一个新的批处理文件filebat,并写入@echo off来关闭命令回显。
[*]遍历filelist中的每一行(每个计划任务的路径),构造禁用该任务的命令,并追加到filebat中。
5.执行禁用命令:
[*]通过call命令执行filebat批处理文件,禁用所有计划任务。
6.清理:
[*]删除filelist和filebat这两个临时文件。
7.退出:
[*]exit命令退出批处理脚本的执行。
注意事项:
[*]该脚本在Windows 7上测试通过,但在其他版本的Windows上可能表现不同。
[*]禁用计划任务不会删除它们,如果需要重新启用,可以通过任务计划程序手动启用或使用类似的批处理脚本。
[*]在执行任何脚本之前,建议备份重要数据以防万一。
[*]最后就是下载地址了:
https://wwpe.lanzoue.com/ioDFZ27r82ah
帮楼主重新插入下代码
@echo off
setlocal EnableDelayedExpansion
:: 设置变量
set "cmdhead=schtasks /change /disable /tn "
set "filelist=%TMP%\filelist.txt"
set "filebat=%TMP%\myschtasks.bat"
set "dir_tasks=C:\Windows\System32\Tasks"
:: 获取任务目录中的所有任务并将其输出到临时文件
dir /a-d /b /s %dir_tasks% > %filelist%
:: 初始化批处理文件
echo @echo off > %filebat%
:: 初始化计数器
set j=0
:: 读取文件列表并生成禁用任务的命令
for /f "delims=" %%i in (%filelist%) do (
set /a j+=1 :: 计数器增加
set line!j!=%%i :: 将当前行(任务路径)存储到 line 变量中
call set a=%%line!j!%% :: 将当前行的内容赋值给变量 a
:: 生成禁用任务的命令,提取任务名并写入批处理文件
echo %cmdhead%"!a:~25!" >> %filebat%
)
:: 执行生成的批处理文件以禁用所有任务
call %filebat%
:: 删除临时文件
del /q /f %filelist%
del /q /f %filebat%
:: 结束脚本
exit
y12131111 发表于 2024-9-18 15:42
都停掉任务,电脑不得黑屏了?
想太多了,计划任务,只是进入桌面后加载的各种应用服务,系统的服务不在这里面,不过这个确实有些BUG,我在重新优化,暂时不要下载了 ‌可以修复下 所有计划都停掉的话,一运行,会不会猛猛出错 牛逼 电脑搞废 如果win10用的微软自带输入法,会造成输入法无法启动 有些自启是必要的,禁掉非必要的就好了 本帖最后由 Natu 于 2024-8-18 20:56 编辑
整理过的脚本,运行出错 kangta520 发表于 2024-8-18 17:23
帮楼主重新插入下代码
@echo off
setlocal EnableDelayedExpansion
21-23行的注释会导致运行出错 Natu 发表于 2024-8-18 21:03
21-23行的注释会导致运行出错
:: 替换为 rem