You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows CMD中用正则筛选schtasks含“Schedule Type: Daily”的结果块

可行解决方案

方案1:使用PowerShell实现(推荐,Windows系统默认自带)

直接在CMD中运行以下命令即可,无需切换到PowerShell环境:

powershell -Command "(schtasks /query /fo LIST /v | Out-String) -split '(\r?\n){2}' | Where-Object { $_ -match 'Schedule Type: Daily' }"

命令逻辑说明:

  • 先将schtasks的所有输出转换为单个完整字符串,再按两个连续换行(即不同任务块的分隔符)拆分
  • 直接筛选所有包含Schedule Type: Daily的块输出,完全匹配你需要的完整任务块格式

方案2:仅使用CMD原生工具实现

findstr本身不支持跨行匹配,无法通过单条findstr正则实现需求,你可以使用以下批处理逻辑实现:

@echo off
setlocal enabledelayedexpansion
set "block="
for /f "delims=" %%a in ('schtasks /query /fo LIST /v') do (
    set "line=%%a"
    if not "!line!"=="" (
        set "block=!block!!line!
"
    ) else (
        echo !block! | findstr /c:"Schedule Type: Daily" >nul && echo !block!
        set "block="
    )
)
echo !block! | findstr /c:"Schedule Type: Daily" >nul && echo !block!
endlocal

将上述代码保存为.bat后缀的批处理文件,直接在CMD中运行即可。


原命令失效原因说明:

  1. findstr的正则默认不支持跨行匹配,也不支持直接用\n匹配换行符,通配符.也不会识别换行
  2. 你写的[.|\n]不符合findstr正则语法,方括号内的.和|会被识别为普通字符,不会生效

内容的提问来源于stack exchange,提问作者spookymonkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:24:03