[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
递归DIR试试呢

TOP

回复 3# hnfeng
显示不太标准
  1. @echo off
  2. REM 存为ANSI编码
  3. set "folder=c:\test"
  4. set /a num=0, max=5
  5. echo;%folder%
  6. call :loop "%folder%"
  7. pause&exit
  8. :loop
  9. pushd %1
  10. if %num% lss %max% (
  11.     for /d %%d in (*) do (
  12.          if %num% geq 1 (
  13.             set /p=│ <nul
  14.          )else set /p=├─<nul
  15.          for /l %%i in (1,1,%num%) do (
  16.               if %%i neq %num% (
  17.                 set /p=│ <nul
  18.               ) else set /p=└─<nul
  19.          )
  20.          echo;%%d
  21.          set /a num+=1
  22.          call :loop "%%d"
  23.          set /a num-=1
  24.     )
  25. )
  26. popd
  27. exit/b
复制代码

TOP

回复 5# hnfeng
这个只能玩玩 ,通用不了的;
这样会好一些吗
  1. @echo off&setlocal enabledelayedexpansion
  2. REM 存为ANSI编码
  3. for /f "delims=" %%i in ('"cmd /k prompt $h <nul"') do set bs=%%i
  4. set "ph=c:\test"
  5. set "num=0"
  6. set "max=6"
  7. call :loop %ph%
  8. pause
  9. exit
  10. :loop
  11. setlocal
  12. if %num%==%max% exit /b
  13. if %num%==0 (
  14.     echo %ph%
  15. ) else (
  16.     set "s="
  17.     for /L %%i in (1,1,%num%) do (
  18.          if %%i equ  1  (set "s=!s! │") else set "s=!s! │!bs!"
  19.     )
  20.     if %num% neq 1 (
  21.         set /p= !s!│!bs!<nul
  22.         echo └─%~nx1
  23.     ) else echo ├─%~nx1
  24. )
  25. set /a "num+=1"
  26. for /d %%d in ("%~1\*") do call :loop "%%~fd"
  27. endlocal
  28. exit /b
复制代码

TOP

返回列表