//自定义的遍历操作需要在指定位置执行添加命令代码。
//文件名:文件遍历.bat
//代码:
@echo off
:Be@cls
@if "%~1"=="" color 8f&mode con cols=60 lines=15
@title 文件遍历_Besoft
@echo off
@echo 该工具由Beswor制作,谢谢使用!
@echo=====================文件遍历操作========================
set "log=%~dp0Dirlog.txt"
set main=%~dp0
set /p main=请输入路径[默认当前]:
:Begin
cls
@echo 该程序由Besoft开发,谢谢使用!
@echo=====================文件遍历操作========================
@echo %main%
@echo.
@echo 1-列举
@echo 2-查询
@echo 3-自定义遍历操作(请直接修改本文件内容)
@echo 4-更改路径
@echo.
set /p a=
if %main:~-1%==\ set "main=%main:~0,-1%"
echo 开始>%log%
echo ●%main%>>%log%
if %a%==1 (
@call :Fun1 %main%
)
if %a%==2 (
set tpf=*.*
set /p tpf=请输入查询通配符[默认:*.*]:
@call :Fun2 %main%
)
if %a%==3 (
@call :Fun3 %main%
)
if %a%==4 (
goto Be
)
@goto Out
:Fun1
set "sp=%2﹍﹍"
set "repath=%1\"
set "pa=%3\"
for /f "delims=" %%a in ('dir/b/a-d %repath%*.*') do (
echo %sp%○%%a>>%log%
set /p=<nul
set /p=%%a<nul
)
for /f "delims=" %%b in ('dir/b/ad %repath%*.*') do (
echo %sp%●%main%%pa%%%b>>%log%
cls
echo %%b<
call :Fun1 %repath%"%%b" %sp% %pa%%%b
)
)
goto Out
:Fun2
set "repath=%1\"
set "pa=%2\"
for /f "delims=" %%a in ('dir/b/a-d %repath%%tpf%') do (
echo.>>%log%
echo %repath%○%%a>>%log%
set /p=<nul
set /p=%%a<nul
)
for /f "delims=" %%b in ('dir/b/ad %repath%*.*') do (
cls
echo %%b<
call :Fun2 %repath%"%%b" %pa%%%b
)
)
goto Out
//■请在"Fun3"作自定义添加
:Fun3
//■请将下一句注掉使"Fun3"生效
cls & echo 请先修改"Fun3"再运行 & pause & goto Begin
set "sp=%2﹍﹍"
set "repath=%1\"
set "pa=%3\"
for /f "delims=" %%a in ('dir/b/a-d %repath%*.*') do (
//■此处为文件遍历区
)
for /f "delims=" %%b in ('dir/b/ad %repath%*.*') do (
//■此处为路径遍历区
call :Fun3 %repath%"%%b" %sp% %pa%%%b
)
)
goto Out
:Out