不确定为什么文件错误输出为语法错误

时间:2017-06-14 01:05:34

标签: batch-file

set "us=no"
set "login="
set "ps=no"
set "password="
set "ns=no"
set "mn=no"
set "sc=no"
set "cl=no"
set "contact="

:st
cls
set "start=%CD%\bin\Skype\Skype.exe"
if "%us%"=="yes" set "start=%start% /username:%login%"
if "%ps"=="yes" set "start=%start% /password:%password%"
if "%ns%"=="yes" set "start=%start% /nosplash"
if "%mn%"=="yes" set "start=%start% /minimized"
if "%sc%"=="yes" set "start=%start% /secondary"
if "%cl%"=="yes" set "start=%start% /callto:%contact%"
echo "%start%"
pause
我试过的事情:

删除每行上的if部分并单独尝试命令

删除引文(错误输出)

在双方都加上引号会将文本“转换”到变量,其中变量%变量“%将包含(文本”)我不确定为什么它会因语法错误而崩溃

具体而言,一旦尝试添加更多文本以启动变量

,就会出错

顺便说一句。我还需要一些setlocal enabledelayedexpansion吗?处理它与!!是吗?

1 个答案:

答案 0 :(得分:1)

if "%ps"=="yes" set "start=%start% /password:%password%"
    ^^^

应该是

if "%ps%"=="yes" set "start=%start% /password:%password%"
    ^^^^

你知道的。有时它只需要另一组眼睛。