Advertisement
AyrA

Batch file browser demo

Apr 13th, 2018
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.25 KB | None | 0 0
  1. @ECHO OFF
  2. REM Copyright (c) 2018 by /u/AyrA_ch
  3. REM Example directory browser in batch file
  4.  
  5. REM Enable Support for "!" expansion
  6. SETLOCAL ENABLEDELAYEDEXPANSION
  7.  
  8. REM Starting point
  9. CD /D C:\
  10.  
  11. REM Lists all directories and files
  12. :LOOP
  13. CLS
  14. ECHO Content of "%CD%"
  15.  
  16. REM Dirs
  17. ECHO.
  18. ECHO Directories:
  19. SET COUNT=0
  20. ECHO !COUNT!: ^<..^>
  21. FOR /D %%I IN (*.*) DO (
  22. SET /A COUNT=!COUNT!+1
  23. SET DIR[!COUNT!]=%%I
  24. ECHO !COUNT!: %%I
  25. )
  26.  
  27. REM Files
  28. ECHO.
  29. ECHO Files:
  30. FOR %%I IN (*.*) DO (
  31. SET /A COUNT=!COUNT!+1
  32. SET FILE[!COUNT!]=%%I
  33. ECHO !COUNT!: %%I
  34. )
  35.  
  36. REM Make Selection
  37. ECHO.
  38. SET /P SEL=Select [Q, 0-%COUNT%]:
  39. REM Check for special selection
  40. IF /I "%SEL%"=="Q" GOTO END
  41. IF "%SEL%"=="0" GOTO UP
  42. REM Check if file
  43. IF NOT "!FILE[%SEL%]!"=="" GOTO EXEC
  44. REM Check if Dir
  45. IF NOT "!DIR[%SEL%]!"=="" GOTO LIST
  46. REM Neither
  47. GOTO CLEAR
  48.  
  49. REM Directory up
  50. :UP
  51. CD ..
  52. GOTO CLEAR
  53.  
  54. REM Execute selection (is file)
  55. :EXEC
  56. START /D "%CD%" !FILE[%SEL%]!
  57. REM use "CLEAR" to not exit this file
  58. GOTO END
  59.  
  60. REM Navigate to selection
  61. :LIST
  62. CD "!DIR[%SEL%]!"
  63. GOTO CLEAR
  64.  
  65. REM Clear set variables and show list
  66. :CLEAR
  67. FOR /L %%I IN (1,1,%COUNT%) DO (
  68. SET FILE[%%I]=
  69. SET DIR[%%I]=
  70. )
  71. GOTO LOOP
  72.  
  73. REM Exit
  74. :END
  75. REM This automatically clear up
  76. ENDLOCAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement