在尝试创建'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%
)
Run Code Online (Sandbox Code Playgroud)
在此先感谢任何帮助,这让我疯了!