Love0912 发表于 2024-8-18 17:06

禁用电脑所有计划任务的皮处理器

本帖最后由 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

kangta520 发表于 2024-8-18 17:23

帮楼主重新插入下代码
@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

Love0912 发表于 2024-9-18 16:24

y12131111 发表于 2024-9-18 15:42
都停掉任务,电脑不得黑屏了?

想太多了,计划任务,只是进入桌面后加载的各种应用服务,系统的服务不在这里面,不过这个确实有些BUG,我在重新优化,暂时不要下载了

cyxnzb 发表于 2024-8-18 17:23

&#8204可以修复下

wuliaodelaohu 发表于 2024-8-18 18:14

所有计划都停掉的话,一运行,会不会猛猛出错

宇晨 发表于 2024-8-18 19:39

牛逼 电脑搞废

跌宕起伏 发表于 2024-8-18 20:34

如果win10用的微软自带输入法,会造成输入法无法启动

Tyh52pj 发表于 2024-8-18 20:36

有些自启是必要的,禁掉非必要的就好了

Natu 发表于 2024-8-18 20:52

本帖最后由 Natu 于 2024-8-18 20:56 编辑

整理过的脚本,运行出错

Natu 发表于 2024-8-18 21:03

kangta520 发表于 2024-8-18 17:23
帮楼主重新插入下代码
@echo off
setlocal EnableDelayedExpansion


21-23行的注释会导致运行出错

kangta520 发表于 2024-8-18 21:07

Natu 发表于 2024-8-18 21:03
21-23行的注释会导致运行出错

:: 替换为 rem
页: [1] 2 3 4 5
查看完整版本: 禁用电脑所有计划任务的皮处理器