@echo off
call:chooseFile
echo 获取选择的文件名字
echo %chosedFile%
pause
goto :eof
REM 选取当前目录的MP4文件
:chooseFile
echo ---请选择文件---
echo.
echo 文件名------变量名
set n=0
setlocal enabledelayedexpansion
for %%i in (./*.mp4) do (
set /a n+=1
set "file!n!=%%i"
)
for /f "tokens=1* delims==" %%a in ('set file') do (
echo %%b %%a
)
echo.
echo 共有%n%个mp4文件(夹)
echo.
set /p chosedFile=请输入变量名:
set chosedFile=!%chosedFile%!
echo 变量名对应的文件(夹)是:%chosedFile%
goto :eof
call 一个标签后 为什么无法获取标签里面设置的变量chosedFile的值,但是我试过普通的call里面直接设置的变量是可以获取的。