[ Last edited by victor888 on 2009-11-11 at 18:52 ]作者: tongzj 时间: 2009-11-10 17:17 @echo off
setlocal enabledelayedexpansion
set path=
for /f "tokens=1,2,3 delims=\" %%a in (dir.txt) do (
set filename=%%c
set f1=!filename:~0,-4!
if /i "%%b"=="!path!" (
echo !f1!=%%c>>r.txt
) else (
echo [%%b]>>r.txt
echo !f1!=%%c>>r.txt
set path=%%b
)
)作者: slore 时间: 2009-11-10 17:48 直接在C盘运行这个bat?
@echo off
setlocal EnableDelayedExpansion
FOR /d %%i in ("*") do (
set /a v=0
set /a flag=0
FOR /f "delims=" %%j in ('dir /b/a-d "%%i\*.exe" 2^>nul') do (
if !flag! equ 0 echo [%%i]&& set /a flag=1
set /a v+=1
echo %%i!v!=%%~nxj
)
)
pause作者: victor888 时间: 2009-11-10 19:47 2楼的答案很不错,3楼的我看不明白。
另外,2楼,能不能针对我提出的不同深度的路径进行处理?因为EXE文件是通过dir /s查得,深度是不确定的。作者: victor888 时间: 2009-11-11 09:07 3楼的代码非常的牛。
最佳的解决方案!
[ Last edited by victor888 on 2009-11-11 at 18:53 ]