0

有没有办法显示允许用户选择在哪个目录中运行批处理的对话框?(来自目录列表,也许是手动输入目录路径的选项?)

我想它看起来像:

echo Choose a directory to run script:
SET /P ANS=Directory 1, 2, 3, 4, <etc>
if /i {%ANS%}=={1} (goto :1)
if /i {%ANS%}=={2} (goto :2)
:: <etc>

:1
<code to designate directory to run in>
<code for operations>
:2
<etc>

但我不确定如何指定目录。

4

2 回答 2

1

使用选择命令。用户可以输入一个数字,然后相应地设置 ERRORLEVEL 变量。有关更多详细信息,请参见此处

编辑:另请参阅问题以获取字符串提示。

于 2013-03-21T21:10:13.283 回答
0

这个片段应该很有魅力:

:start
set /p dir=Choose a directory: 
cls
if exist %dir% (cd %dir%) else echo Directory not found. & goto start

或者,如果您想要一个可供选择的目录列表:

echo Option 1
echo Option 2
echo Etc...
choice /c 123
::Replace "{directory}" with a folder path.
if errorlevel 3 cd {directory}
if errorlevel 2 cd {directory}
if errorlevel 1 cd {directory}

有无穷无尽的方式可供选择。

于 2013-03-22T05:33:13.630 回答