如何使用批处理文件列出具有特定扩展标记(例如.jar)的所有子文件夹以及编号顺序

时间:2015-03-25 17:58:43

标签: android windows batch-file cmd

以下程序为我输出

程序代码

@echo off
setlocal enabledelayedexpansion
set /a x=0
(for %%i in (*.apk) do (
 set /a x +=1
 echo !x!^) "%%i"
))>apkmenu.txt

:loop
type apkmenu.txt
set /p "c=Enter your choice: "
if "%c%"=="" goto :loop
if %c% gtr %x% goto :loop
for /f "tokens=1,* delims= " %%i in ('findstr /b "%c%)" apkmenu.txt') do set input=%%j
echo Your file is %input%

屏幕输出

1) bla.apk
2) sdss.apk
3) asdads.apk
4) more.apk

Your file is bla.apk (Assuming option 1 was selected)

列出所有扩展名为.apk的文件 我想最后列出带.apk的文件夹。我尝试了以下内容 -

dir /b *.apk|findstr /n "^"  

但没有任何帮助。它确实列出了文件夹名称,但我只想要文件夹名称,它不仅仅给我文件夹名称。

Your file is 1:bla.apk // Output on screen

用户应该可以选择带有1,2等选项的文件夹。

用户屏幕

1) bla.apk  //These are folder names not file
2) sdss.apk
3) asdads.apk
4) more.apk

Enter your choice:    

预期输出

Your file is bla.apk

实际输出

1:bla.apk

我希望在运行以下代码时只输出文件夹名称

代码

echo Your file is %input% //Input variable as per seen in above program 

输出

Your file is bla.apk

对于问题的长度我感到非常抱歉,但我努力尽可能准确。任何其他想法/方式或建议,将不胜感激

1 个答案:

答案 0 :(得分:0)

将原始代码更改为

(for /d %%i in (*.apk) ....

/d开关表示for命令将遍历目录