雪野Solye 2021-05-27 21:40 采纳率: 0%
浏览 18

请问 我这个批处理命令 call 一个标签后 为什么无法获取标签里面设置的变量

@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里面直接设置的变量是可以获取的。

  • 写回答

1条回答 默认 最新

  • 微软技术分享 优质创作者: 编程框架技术领域 2024-05-17 10:05
    关注

    倒数第三句,改一下,用endlocal试一下。

    评论

报告相同问题?