小编use*_*379的帖子

批处理文件变量范围问题

在尝试创建'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)

在此先感谢任何帮助,这让我疯了!

scope batch-file

5
推荐指数
1
解决办法
7846
查看次数

标签 统计

batch-file ×1

scope ×1