[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

已知系统任务计划中有“UpdateTask123456”,其中的123456是随机数字,如何通过批处理删除它。

我用了:schtasks /delete /tn "UpdateTask*" /f  删除不了,请大神们指点。

回复 1# hzusb


schtasks /query + schtasks /delete
http://bbs.bathome.net/thread-34301-1-1.html#pid162504
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


     谢谢回复,研究一下

TOP

@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

TOP

回复 3# hzusb


    请问研究出来了没有    我也曾找过这种方法,可惜一直没实现

TOP

回复 4# cast
  1. schtasks /query /fo list > 1.txt
复制代码
执行这个命令,把生成的1.txt文件上传到网盘,我试试。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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不知能不能搞出来

TOP

本帖最后由 Five66 于 2024-7-5 20:18 编辑

回复 7# cast

既然是
"MicrosoftEdgeUpdateTaskMachineCorexxxxxxxxxxxxxxxxxx"
那TaskName不应该是类似
*\\MicrosoftEdgeUpdateTaskMachineCore
这样的吗

TOP

接着练手,把 /ibrc:    改成   /irc:  应该可以了,  

接着再继续下一步实际应用看看了

TOP

回复 8# Five66


    本来是这样觉得也不复杂,但是不管用什么字付都滤不出来,现在改了改可以了

TOP

本帖最后由 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
复制代码

补充说明》以上代码仅用于目标任务所含关键词唯一的情况...

TOP

本帖最后由 cast 于 2024-7-7 11:45 编辑

回复 11# aloha20200628


测试了,可执行,附加提示:就算查看也要管理员模式,不然会被表象疑惑

TOP

返回列表