Если вы хотите прокрутить каталог и запросить у пользователя имя файла, а затем выбрать, выбрать его или продолжить, то ниже вам поможет.
Во-первых, мы можем использовать dir /b /a:d
дляотображать только каталоги (папки) в текущем каталоге.Используя кодовый блок (
& )
, мы можем поместить пакетный скрипт в цикл for.Ради вас, мы можем использовать команду CHOICE
, чтобы предложить продолжить цикл или сохранить текущую папку в строку и что-то с ней сделать.
ScrollTreeWithPrompt.bat:
@echo off
setlocal EnableDelayedExpansion
Rem | Configuration
Set "MainDir=C:\Test"
Rem | Get Each Project Folder
for /f "tokens=*" %%A in ('dir "!MainDir!\" /b /a:d') do (
Cls
Echo Current Folder: %%A
echo(
CHOICE /M "Continue?"
Rem | Check for "N" - If so Set String & goto
IF "!ERRORLEVEL!"=="2" (
Set "Choice=%%A"
GOTO Run
)
)
Rem | No Further Results
Cls
Echo Warning: No further folders found.
pause>NUL
goto :EOF
:Run
Cls
echo Currently selected: !MainDir!\!Choice!
pause>NUL
goto :EOF
Я оставил несколько Rem
комментариев в сценарии, чтобы помочь вам в этом.Чтобы получить дополнительную справку по командам, введите в командной строке следующую команду:
choice /?
set /?
for /?
goto /?