我正在尝试编写一个 bat 脚本并遇到以下问题。
以下是处理该问题的片段。
setlocal enabledelayedexpansion enableextensions
@echo off
@echo:
echo Select an option:
echo *****************
@echo:
echo 1) process 2gen files
@echo:
echo 2) process 3gen files
@echo:
set /p option=Enter option number : %=%
set fileName=nil
echo %option%
if %option% == 1 (
set fileName = 2gen
echo !fileName!
)
echo !fileName!
这个bat脚本的输出如下:
Select an option:
*****************
1) process 2gen files
2) process 3gen files
Enter option number : 1
1
nil
nil
我期待 fileName 的回声具有价值2gen
,但它仍在打印nil
在我的第一次尝试中,我没有使用setlocal enabledelayedexpansion enableextensions
and !fileName!
(而是使用%fileName%
)
搜索解决方案后启用延迟扩展。但仍然无法得到确切的错误是什么。
正在使用的操作系统版本也是Windows 7 64 bit
请帮我指出错误。
谢谢!