获取注册表项的值,如果value = something *,则继续使用IF语句

时间:2013-10-30 18:10:23

标签: batch-file

这是我正在使用的代码。我试图说,如果计算机名= KH-TC *转到结束并退出,如果计算机名= KH-ZC *运行此可执行文件。任何帮助都会很棒。谢谢。我根本不懂脚本,所以我正在努力解决它。以下是我到目前为止的情况:

@echo on
REG Query "HKCU\Volatile Environment" /v "ViewClient_Machine_Name"
IF %ErrorLevel% EQU "KH-ZC*" GOTO ZEROCLIENT
IF %ErrorLevel% EQU "KH-TC*" GOTO THINCLIENT

GOTO END
:ZEROCLIENT
@ECHO THIS IS ZERO CLIENT
C:\Windows\System32\tsdiscon.exe
GOTO END

:THINCLIENT
@ECHO THIS IS THIN CLIENT
GOTO END

:END
@ECHO THIS IS END
@exit

1 个答案:

答案 0 :(得分:2)

使用下面的代码,它会检查一个选项并对其进行分支。
错误级别绝不是一串字符,总是一个数字。

这是一个命令行的答案 &&是一个构造,它将在error.exe为0时从find.exe

启动以下命令
@echo on
REG Query "HKCU\Volatile Environment" /v "ViewClient_Machine_Name" |find "KH-ZC" >nul && "C:\Windows\System32\tsdiscon.exe"

使用以下示例编写代码。

@echo on
REG Query "HKCU\Volatile Environment" /v "ViewClient_Machine_Name" |find "KH-ZC" >nul

IF %ErrorLevel% EQU 0 (GOTO ZEROCLIENT) else (GOTO THINCLIENT)

:ZEROCLIENT
@ECHO THIS IS ZERO CLIENT
C:\Windows\System32\tsdiscon.exe
GOTO END

:THINCLIENT
@ECHO THIS IS THIN CLIENT
GOTO END

:END
@ECHO THIS IS END
@exit