當我嘗試創建一個'dos'(windows 7命令行)批處理文件,它執行一些字符串操作來創建新文件路徑時,我遇到了一個奇怪的變量作用域問題。任何人都可以看到爲什麼OUTPUT_FILENAME變量總是在下面的例子中變爲null?批處理文件變量範圍問題
echo Enter the Data Input, S (Site) or U (User)
set /p DATA_TYPE=
echo.
echo Enter the Input File Name
set /p INPUT_FILENAME=
echo.
IF /I %DATA_TYPE%==u (
set OUTPUT_FILENAME=%INPUT_FILENAME:\users\=\Users\Outputs\%
set OUTPUT_FILENAME=%OUTPUT_FILENAME:xls=txt%
echo Output:
echo %OUTPUT_FILENAME%
)
IF /I %DATA_TYPE%==s (
set OUTPUT_FILENAME=%INPUT_FILENAME:\sites\=\Sites\Outputs\%
set OUTPUT_FILENAME=%OUTPUT_FILENAME:xls=txt%
echo Outputs:
echo %OUTPUT_FILENAME%
)
在此先感謝您的任何幫助,這讓我瘋狂!
非常感謝您的支持。這是我第一次嘗試在批處理文件中進行任何實際的流量控制,所以我一定會在未來對此進行記錄! – user3241379