cmd命令

时间:2016-09-28 14:39:07

标签: batch-file if-statement cmd set

我有下一个脚本test.bat

@ECHO OFF

echo output inVal = %inVal%
SET /p inVal="input "
echo output inVal = %inVal%

dir  >NUL 2>&1
if %errorlevel% == 1 (
    echo non existing dir
) else (
    echo existing dir
    SET /p inVal="input "
    echo output inVal = %inVal%
)

输入后的输出是:

> test.bat
output inVal = 5
input 7
output inVal = 7
existing dir
input 3
output inVal = 7
>
> test.bat
output inVal = 3
input 8
output inVal = 8
existing dir
input 2
output inVal = 8
>

第一个问题:在第二次运行时,输出从数字3开始,应该是第一次运行的最后一个输出,但由于某种原因它不是。为什么呢?

第二个问题:在第二次运行中,最后一个输出应为2,而不是8:" output inVal = 8"为什么呢?

0 个答案:

没有答案