2017-04-25 118 views
-1

我需要一个批处理文件(.bat),列出目录中的所有txt文件,并将它们列为变量并放入新菜单中,以便我可以运行它们。批处理文件 - 列出文件并保存为变量

文件夹包含:

test1.php, test1.txt test2.txt, image.bmp 

那么结果在菜单中应该是:

Press 1 for test1 
Press 2 for test2 

还应该看在子文件夹。

+3

puh - DOS是ooold。没有命令可以做到这一点。那么,如果你在Windows上运行'cmd',那么它很容易... – Stephan

回答

2

假设,你是在Windows(如DOS是 “不在办公室”,因为几十年...):

@echo off 
setlocal enabledelayedexpansion 

set n=0 
for /r %%a in (*.txt) do (
    set /a n+=1 
    set "menu_!n!=%%a" 
    echo press !n! for %%~nxa 
) 
set /p "take=your choice:" 
!menu_%take%! 

如需帮助,请for /?set /?

请注意,这不会在DOS上工作。即使所有命令实际存在于DOS中,它们的功能也不尽相同(当然,在DOS中没有delayed expansion)。

+0

你可能需要用'start'来实际打开选择'!menu_%take%!'... – aschipfl

+0

是的,'start' ,'记事本'....取决于。通常,'.txt'文件与notepad.exe相关联。也许一对引号也是有用的。 – Stephan

+0

嗨!酷,这正是我想要的:-) Thx – Mulle1976