@echo off
::在 %1 指定要处理的目录,如果所给目录不存在或不指定,则处理当前目录。
if '%1'=='#benton#' goto :bengin
if not '%1==' pushd %1
for /f "tokens=* delims=" %%a in ('dir /ad /s /b^&cd') do (
pushd %%a
call %0 #benton#
popd
)
if not '%test%=='t echo 目录"%cd%"下找不到任何*.jpg文件
if not '%1==' popd
pause
goto :eof
:bengin
if not exist *.JPG goto :eof
set test=t&echo.
if exist *.TXT echo 目录"%cd%"已有txt文件,本次跳过,&echo.如果要重加,请把该目录的TXT文件删除后,再试。&goto :eof
echo 目录%cd%
setlocal enabledelayedexpansion
set/a n=0
for %%a in (*.jpg) do (
set /a n+=1
set fn!n!=%%~na
)
for /l %%a in (1,1,!n!) do (
echo 正在写入文件: !fn%%a!.txt
set/a pup=%%a-1,pdo=%%a+1
for /f "tokens=1-2" %%m in ("!pup! !pdo!") do (
if defined fn%%m set "str=!fn%%m! 上一张"
set "str=!str! !fn%%a!.jpg"
if defined fn%%n set "str=!str! !fn%%n! 下一张"
)
echo;!str!>"!fn%%a!.txt"
)
endlocal
echo 写入完成
goto :eof
Last edited by netbenton on 2009-10-9 at 10:50 ]