所以我的批处理代码中有一个“set / p”行,但无论我做什么,它总是返回空白。
我的代码:
@echo off
IF NOT "%1" == "admin" (
ECHO 'Not admin'
Pushd "%~dp0"
copy %0 C:\
runas /user:administrator "C:\%~n0.bat admin %COMPUTERNAME%"
)
IF "%1" == "admin" (
set /p user= User initials:
ECHO Test: %user%
wmic computersystem where caption='%2' call rename 'GLOS-%user%01'
net localgroup administratorer %user% /add
manage-bde -off C:
pause
start /b "" cmd /c del "%~f0"&exit /b
)
pause
任何人都知道为什么会发生这种情况?
提前致谢!
答案 0 :(得分:1)
您必须在脚本的开头添加此内容(例如,在@eho off
下方):
SETLOCAL EnableDelayedExpansion
进一步你必须围绕用户!...!而不是%...%:
ECHO Test: !user!
就是这样。有关详细信息,请查看this website