是否可以列出以字母“I”开头的所有子文件夹名称,并允许用户选择一个?
由于 约翰。
答案 0 :(得分:0)
基本上,您可以使用
遍历所有子文件夹 for /d /r D:\ %A in (*) DO CALL :SUB %A
在您的子程序中,您可以处理每个foldername:
:SUB
SET B=%1
IF NOT %B:~0,1%==%MatchLetter% GOTO :EOF
:DisplayFolderAndLetUserSelectIt
... insert appropriate code here
:EOF
未经测试,但它可能会让你知道从哪里开始......祝你好运; - )
答案 1 :(得分:0)
@ECHO OFF
SETLOCAL
:: remove variables starting $
FOR /F "delims==" %%a In ('set $ 2^>Nul') DO SET "%%a="
SET "sourcedir=."
FOR /f "tokens=1,2delims=:" %%a IN (
'dir /b /ad "%sourcedir%\*" ^|findstr /b /i "N" ^|findstr /n "."'
) DO (
ECHO %%a %%b
SET "$%%a=%%b"
)
:cloop
SET "chosen="
SET /p "chosen=Your choice : "
IF NOT DEFINED chosen GOTO :EOF
IF NOT DEFINED $%chosen% GOTO cloop
CALL SET "chosen=%%$%chosen%%%"
ECHO %chosen% was chosen
GOTO :EOF
这不是防弹,但是应该处理不是为了使例程崩溃而设计的用户输入。只需按 Enter 即可退出,无选择。