【发布时间】:2020-12-08 07:12:13
【问题描述】:
我有一个批处理脚本,它找到哪个驱动器承载我的文件夹(磁盘部分情况)和创建文件夹,然后它列出了该文件夹中的文本文件(现在是它的文本)。无论如何,问题是当批处理要求我选择要打开哪个时,它一直工作到 9 点。我什至不能按 10,因为当我按 1 时它会自动打开文本文件。 2位数字怎么写?因为文件夹总是会改变,可能有 30 个选项。这是我的代码;
@for %%a in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do @if exist %%a:\TAM_IMAGES set The_Drive=%%a
@for %%b in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do @if exist %%b:\Users\canoca\Desktop\bosluktesti set testbasarisiz=%%b
REM @dir %The_Drive%:\TAM_IMAGES
REM @dir %testbasarisiz%:\Users\canoca\Desktop\bosluktesti
cd %The_Drive%:\TAM_IMAGES
setlocal enabledelayedexpansion
set count=0
set "choice_options="
for /F "delims=" %%A in ('dir /a:-d /b "%The_Drive%:\TAM_IMAGES"') do (
set /a count+=1
set "options[!count!]=%%A"
set choice_options=!choice_options!!count!
)
for /L %%A in (1,1,!count!) do (
echo %%A]- !options[%%A]!
)
choice /c:!choice_options! /m "Yuklemek istediginiz imaji seciniz: "
REM %testbasarisiz%:\Users\canoca\Desktop\test.bat %The_Drive%:\TAM_IMAGES\!options[%ERRORLEVEL%]!
start %The_Drive%:\TAM_IMAGES\!options[%ERRORLEVEL%]!
cmd /k
【问题讨论】:
-
您必须使用
SET /P接受用户输入。 -
我可以输入到第 9 个参数,问题是我只能输入 1 个数字。之后它会自动打开文件
-
查看我的回答 here 了解使用计数和子字符串修改来构建最多 39 个项目的选择菜单的方法
标签: batch-file cmd choice