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

Win7系统下递归搜索指定文件并生成去重路径的列表文件需求

在Windows 7下生成Program Files目录及子目录的.exe文件清单

刚好之前处理过类似的需求,给你两种方案,都是用Windows原生工具实现的,不用额外安装软件:

基础方案:仅列出所有.exe文件的完整路径

如果只需要把所有.exe文件的完整路径列出来,直接打开命令提示符(CMD),运行下面的命令就行:

dir "C:\Program Files" /s /b /a-d *.exe > "C:\exe_list.txt"

参数说明:

  • /s:递归遍历目标目录的所有子目录
  • /b:输出简洁格式,只显示文件的完整路径,没有多余的日期、大小等信息
  • /a-d:只筛选文件,排除目录本身
  • *.exe:只匹配.exe格式的可执行文件
  • > "C:\exe_list.txt":把命令的输出结果写入到C盘根目录的exe_list.txt文件里,你可以改成自己想要的保存路径和文件名。

要是你的Windows 7是64位系统,别忘了同时遍历Program Files (x86)目录(32位程序默认安装在这里),把命令改成:

dir "C:\Program Files" "C:\Program Files (x86)" /s /b /a-d *.exe > "C:\exe_list.txt"

进阶方案:按目录分组,避免重复输出目录路径

如果想要同一目录下的多个.exe文件只显示一次目录路径,然后列出该目录下的所有exe,就需要写个简单的批处理脚本:

  1. 新建一个文本文件,把下面的代码粘贴进去
  2. 把文件后缀名从.txt改成.bat(比如命名为ExeGroupList.bat)
@echo off
setlocal enabledelayedexpansion
set "outputFile=C:\exe_grouped_list.txt"
:: 先清空输出文件
echo. > "%outputFile%"

:: 遍历Program Files目录
for /r "C:\Program Files" %%f in (*.exe) do (
    if not "!currentDir!"=="%%~dpf" (
        set "currentDir=%%~dpf"
        echo !currentDir! >> "%outputFile%"
    )
    echo - %%~nxf >> "%outputFile%"
)

:: 64位系统额外遍历Program Files (x86)
if exist "C:\Program Files (x86)" (
    for /r "C:\Program Files (x86)" %%f in (*.exe) do (
        if not "!currentDir!"=="%%~dpf" (
            set "currentDir=%%~dpf"
            echo !currentDir! >> "%outputFile%"
        )
        echo - %%~nxf >> "%outputFile%"
    )
)

echo 清单生成完成!文件路径:%outputFile%
pause

脚本的逻辑很简单:

  • 递归遍历目标目录下的所有.exe文件
  • 每遇到一个新的目录,先输出目录路径
  • 然后把该目录下的所有.exe文件名按列表形式输出,这样同一目录的路径只会出现一次

运行这个批处理后,生成的文件格式大概是这样:

C:\Program Files\Internet Explorer\

  • iexplore.exe
  • ieproxy.exe
    C:\Program Files\Microsoft Office\Office14\
  • WINWORD.EXE
  • EXCEL.EXE

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:09:34