递归地获取当前目录下所有文件的后缀名(不重复)
好的,这里是修改后的批处理脚本,它将递归地获取当前目录下所有文件的后缀名,并将不重复的后缀名输出到当前目录下的 a.txt 文件中,然后结束:
@echo off
setlocal enabledelayedexpansion
:: 初始化一个空的集合用来存储后缀名
set "suffixList="
:: 递归遍历当前目录及其子目录下的所有文件
for /r %%i in (*) do (
    :: 使用set命令获取文件的扩展名
    set "ext=%%~xi"
    :: 检查是否已经记录过此扩展名
    if "!suffixList[%%ext]!"=="" (
        :: 如果没有记录过,则添加到集合中
        set "suffixList[%%ext]=1"
    )
)
:: 将集合中的后缀名输出到a.txt文件
for /f "tokens=1,* delims= " %%a in ("!suffixList!") do (
    echo %%a>>a.txt
)
echo.
echo 所有不重复的文件后缀名已输出到 a.txt 文件。
endlocal
exit
保存这段代码为 .bat 文件,例如 ListUniqueExtensions.bat。运行这个脚本时,它会执行以下操作:
- 遍历当前目录及其子目录中的所有文件。
- 收集每个文件的扩展名,并检查是否已经记录过。
- 如果没有记录过,将扩展名添加到集合中。
- 将集合中的所有扩展名输出到 a.txt文件。
- 打印一条消息,告知用户操作已完成,并正常退出。
双击运行这个 .bat 文件,它会在当前目录下生成一个 a.txt 文件,里面包含了所有不重复的文件后缀名。
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号