找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16344|回复: 11

[系统相关] 批处理如何删除包含某些字符的任务计划?

[复制链接]
发表于 2024-6-25 14:14:02 | 显示全部楼层 |阅读模式
已知系统任务计划中有“UpdateTask123456”,其中的123456是随机数字,如何通过批处理删除它。

我用了:schtasks /delete /tn "UpdateTask*" /f  删除不了,请大神们指点。
发表于 2024-6-25 16:28:58 | 显示全部楼层
回复 1# hzusb


schtasks /query + schtasks /delete
http://bbs.bathome.net/thread-34301-1-1.html#pid162504
 楼主| 发表于 2024-6-25 18:07:50 | 显示全部楼层
回复 2# Batcher


     谢谢回复,研究一下
发表于 2024-7-4 23:03:15 | 显示全部楼层
@echo off
chcp 437>nul
for /f "tokens=1*" %%a in ('schtasks /query /fo list^|findstr /ibrc:"TaskName: *\\jf"') do (
        for /f "tokens=* delims=\" %%c in ("%%b") do (
                schtasks /delete /tn "%%c" /f
        )
)
pause

在win10中,参考贴子中的批处理,测试没运行,不知那里不对,请高手指点一下
比如删下面的,后面的一串xxxxxx是随机的
schtasks /delete /TN "MicrosoftEdgeUpdateTaskMachineCorexxxxxxxxxxxxxxxxxx" /f
发表于 2024-7-4 23:07:11 | 显示全部楼层
回复 3# hzusb


    请问研究出来了没有    我也曾找过这种方法,可惜一直没实现
发表于 2024-7-5 11:18:19 | 显示全部楼层
回复 4# cast
  1. schtasks /query /fo list > 1.txt
复制代码
执行这个命令,把生成的1.txt文件上传到网盘,我试试。
发表于 2024-7-5 20:10:57 | 显示全部楼层
回复 6# Batcher
  1. chcp 437>nul
  2. for /f "tokens=1*" %%a in ('schtasks /query /fo list^|findstr /ibrc:"TaskName: *"') do (
  3.         for /f "tokens=* delims=" %%c in ("%%b") do (
  4.                 @echo "%%c"
  5.         )
  6. )
复制代码

其实就是没有过滤出来的问题,先改成上面这样的,可以完全显示列出所有任务了,但过滤出想要的不会搞了,findstr不知能不能搞出来
发表于 2024-7-5 20:17:22 | 显示全部楼层
本帖最后由 Five66 于 2024-7-5 20:18 编辑

回复 7# cast

既然是
"MicrosoftEdgeUpdateTaskMachineCorexxxxxxxxxxxxxxxxxx"
那TaskName不应该是类似
*\\MicrosoftEdgeUpdateTaskMachineCore
这样的吗
发表于 2024-7-5 20:30:16 | 显示全部楼层
接着练手,把 /ibrc:    改成   /irc:  应该可以了,  

接着再继续下一步实际应用看看了
发表于 2024-7-5 20:38:34 | 显示全部楼层
回复 8# Five66


    本来是这样觉得也不复杂,但是不管用什么字付都滤不出来,现在改了改可以了
发表于 2024-7-5 21:01:52 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-7-5 21:36 编辑

回复 10# cast
回复 1# hzusb

以下代码是预览版,确认与所删任务名相同后,抹去代码第2行尾部的 echo, 即可改为实际删除版...

  1. @echo off &for /f "tokens=1* delims=: " %%a in (
  2.         ' schtasks /query /fo list^|findstr /irc:".*MicrosoftEdgeUpdateTaskMachineCore.*" ') do (echo,schtasks /delete /tn "%%b" /f)
  3. pause&exit/b
复制代码

同法处理一楼示例的代码如下...

  1. @echo off &for /f "tokens=1* delims=: " %%a in (
  2.         ' schtasks /query /fo list^|findstr /irc:".*UpdateTask.*" ') do (echo,schtasks /delete /tn "%%b" /f)
  3. pause&exit/b
复制代码

补充说明》以上代码仅用于目标任务所含关键词唯一的情况...
发表于 2024-7-5 23:27:57 | 显示全部楼层
本帖最后由 cast 于 2024-7-7 11:45 编辑

回复 11# aloha20200628


测试了,可执行,附加提示:就算查看也要管理员模式,不然会被表象疑惑
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:16 , Processed in 0.020782 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表