1

我试图让它工作,但显然 Windows 不喜欢它。一旦它到达我的批处理文件的这一部分,.bat 就会关闭。

if %UserName% = Semedar (
    if %UserName% 1394677 (
        set administrator=true
    )
)

if %administrator% == "true" (
    echo This shows up for the admin
) Else (
    echo otherwise if %UserName% doesn't equal "Semedar" or "1394677" this shows up.
)
4

1 回答 1

2

您需要在 if 语句中使用比较运算符(前两个 if 中缺少这些运算符)。 EQU或者== 您也将管理员设置为true但将其与"true"不同的比较。

请注意,批处理文件对空间非常敏感,因此最好将您的比较用引号括起来,因为 Windows 用户名可能包含空格。您的意思是说如果用户名是 Semedar 或 1394677 则将管理员设置为 true?因为使用嵌套的 if 语句,它会检查 UserName 是否等于两者。

if "%UserName%" EQU "Semedar" set "administrator=true"
if "%UserName%" EQU "1394677" set "administrator=true"

if "%administrator%" EQU "true" (
    echo This shows up for the admin
) Else (
    echo otherwise if %UserName% doesn't equal "Semedar" or "1394677" this shows up.
)
于 2012-12-31T21:51:19.293 回答