提示用户在批处理文件中选择目录

时间:2014-01-28 02:55:12

标签: batch-file for-loop scripting directory user-input

问题:

我试图让用户选择在指定目录中选择哪个文件夹,然后将该文件夹添加到该地址,以便在该目录中执行程序。

例如,!acct!是我用来向最终用户询问他们想要访问哪个帐户的变量。此帐户是所有其他文件夹的起始或根文件夹。除文件夹的第二个标记外,文件夹结构在所有帐户中保持相同。即)123456789\*\program\setup\

*是存在多个文件夹的文件夹,我希望最终用户可以从中选择。

一旦选择,我希望脚本添加该目录,以便可以执行该程序。

我认为通过设置变量acctDir=C:\Users\jdoe\Desktop\!acct!\将允许我为根目录添加acct编号,然后运行FOR循环,这将允许我在集合中使用通配符{{ 1}}

非常感谢任何帮助!

for /d %%i in ( !acctdir!*media1\setup ) do ( start !app! )

1 个答案:

答案 0 :(得分:3)

您可以尝试以下内容:

set c=0
For /f %%a in ('dir !acctDir! /B /A D') do (
    set /a c+=1
    echo !c!    %%a
    set dir!c!=%%a
)

echo. 
set /p uin="Select a directory [1-!c!]: "
set udir=!dir%uin%!

echo Selected - %udir%

循环遍历!acctDir!的目录列表,并提示用户根据分配给它的编号选择目录。

!acctDir!\%udir%将成为目录的位置。