我正试图让这个工作,但显然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.
)
答案 0 :(得分:2)
您需要在if语句中使用比较运算符(前两个ifs中缺少这些运算符)。 EQU
或==
此外,您还要将管理员设置为true
,但将其与"true"
进行比较,但不一样。
请注意,批处理文件对空间非常敏感,因此最好将您的比较括在引号中,因为Windows用户名可能包含空格。你的意思是说如果UserName是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.
)