0

私はバットスクリプトを書こうとしていて、次の問題に直面しました。

以下は、問題が処理されるスニペットです。

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!

このバット スクリプトの出力は次のとおりです。

Select an option:
*****************

1) process 2gen files

2) process 3gen files

Enter option number : 1
1
nil
nil

fileName のエコーに値2genがあることを期待していますが、まだ印刷中ですnil

私の最初の試みでは、setlocal enabledelayedexpansion enableextensionsand を使用しませんでした!fileName!(代わりに を使用しました%fileName%)

ソリューションを検索した後、遅延拡張が有効になりました。しかし、正確な間違いが何であるかはまだわかりません。

また、使用しているOSのバージョンはWindows 7 64 bit

間違いを指摘するのを手伝ってください。

ありがとう!

4

1 に答える 1