批处理文件 - 列出文件并保存为变量
问题描述:
我需要一个批处理文件(.bat),列出目录中的所有txt文件,并将它们列为变量并放入新菜单中,以便我可以运行它们。批处理文件 - 列出文件并保存为变量
文件夹包含:
test1.php, test1.txt test2.txt, image.bmp
那么结果在菜单中应该是:
Press 1 for test1
Press 2 for test2
还应该看在子文件夹。
答
假设,你是在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)。
puh - DOS是ooold。没有命令可以做到这一点。那么,如果你在Windows上运行'cmd',那么它很容易... – Stephan