我得到了 SYSTEMINFO | FIND /I "DOMAIN:",它显示它是否属于域或工作组。但我试图弄清楚如何获取结果,如果它不是 Company.LLC,则转到 :JoinWorkgroup。我想它应该看起来像这样:
IF SYSTEMINFO | FIND /I "DOMAIN:" NOT = "Company.LLC" THEN GOTO :JoinWorkgroup
IF SYSTEMINFO | FIND /I "DOMAIN:" = "Company.LLC" THEN GOTO :NextVerification
我可以让 IF NOT EXIST 处理目录,但不知道如何将它与提示实用程序的结果联系起来。
答案1
首先,从命令行启动下一个命令:
for /F "tokens=1*" %G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do @echo %G %H
在批处理脚本中使用时,请将百分号%
: 改为%G
并将%%G
改为。然后,批处理脚本中适用的代码片段可能如下所示(请保留行距):%H
%%H
set "sDomain=WORKGROUP"
for /F "tokens=1*" %%G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do set "sDomain=%%~H"
IF "%sDomain%"=="Company.LLC" (
GOTO :NextVerification
) ELSE (
GOTO :JoinWorkgroup
)
或者,如果您更喜欢没有任何辅助变量的解决方案:
for /F "tokens=1*" %%G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do (
IF "%%~H"=="Company.LLC" (
GOTO :NextVerification
) ELSE (
GOTO :JoinWorkgroup
)
)
编辑(虽然被接受):%%~H
与~
参数修饰符删除周围的引号 ( "
)(如果有)。
资源:
FOR /F
循环命令:针对另一个命令的结果- 结构化的
IF ... ( command ) ELSE ( command )
有条件地执行命令