用于列出文件夹内子文件夹的批处理文件

时间:2014-12-10 15:35:06

标签: list file batch-file selection

我希望获得一个批处理文件,该文件显示目录中的子文件夹列表,并允许用户从该文件夹列表中进行选择。选择完成后,应显示该文件夹的内容并允许用户进行选择。有人帮忙解决这个问题吗?

此致 约翰。

示例:列出C:\ ECU下的所有文件夹,可以是ECU1,ECU2和ECU3。假设ECU1被选中批处理文件,然后在此处显示amy文件夹,例如ECU1下面有文件夹:EU1,EU2和EU3。

2 个答案:

答案 0 :(得分:0)

到目前为止我有这个

@ECHO

setlocal enabledelayedexpansion

设置Index = 1 for / d %% D in(C:\ ECU *)do(   设置“子文件夹[!索引!] = %% D”   设定/指数+ = 1 ) set / a UBound = Index-1

setlocal enabledelayedexpansion

for / l %% i in(1,1,%UBound%)do echo %% i。 !子文件夹[%% I]! :choiceloop set / p Choice =您的选择: if“%Choice%”==“”goto chioceloop if%Choice%LSS 1 goto choiceloop if%Choice%GTR%UBound%goto choiceloop

设置Subfolder =!子文件夹[%Choice%]!

答案 1 :(得分:0)

这应该可行,输出不是很好但基本上它只是使用dir命令输出目录中的文件夹。我建议阅读dir命令上的文档,以使其完全按照您的要求进行操作。

@echo off
set "dir=%cd%"
:loop
echo ---Folders
dir /b /a:d %dir%
echo ---
set /p "folder=Enter a folder from the list: "
if not exist %folder% echo Not a valid folder & goto :loop
set "dir=%dir%\%folder%"
echo ---Subfolders
dir /b /a:d %dir%
echo ---
pause