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

批处理脚本查找.exe文件时如何同时排除多个指定子目录

批处理多排除目录搜索EXE调整方案

方法1:直接链式条件判断(适合固定2~3个排除目录场景)

批处理不支持逗号分隔多个排除条件,你可以通过叠加if not判断实现多目录排除,调整后代码如下:

@echo off
:: 提前获取计算机名存入变量,避免重定向时语法错误
set pcname=%computername%
:: 依次判断排除D:\1、D:\2、D:\3三个目录,可根据需求增删if判断行
for /d %%a in (D:\*) do (
    if /i not "%%a"=="D:\1" if /i not "%%a"=="D:\2" if /i not "%%a"=="D:\3" (
        where /r %%~sa\ *.exe >> d:\%pcname%.txt
    )
)

注意:你原代码中d:\%pcname.txt存在语法错误,变量名和后缀之间少了.,已修正为d:\%pcname%.txt

方法2:排除列表写法(适合后续可能新增排除目录的场景)

如果后续需要调整排除目录,直接修改排除列表即可,不用改判断逻辑,代码如下:

@echo off
setlocal enabledelayedexpansion
set pcname=%computername%
:: 在这里定义需要排除的目录,空格分隔,加多少个都可以
set "exclude_list=D:\1 D:\2 D:\3"

for /d %%a in (D:\*) do (
    set "skip=0"
    :: 匹配是否属于排除目录
    for %%d in (%exclude_list%) do (
        if /i "%%a"=="%%d" set "skip=1"
    )
    if !skip! equ 0 (
        where /r %%~sa\ *.exe >> d:\%pcname%.txt
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:39:05