2014-02-21 97 views
0

我有一个脚本应该查看文本文件的工作站ID,然后将其工作站ID旁边的用户分配为本地管理员。如果找不到文本,跳过查找批处理脚本

但是,如果没有找到计算机的名称,我想它简单地转到这个文件的末尾,并退出,如果它已成功完成。

我环顾四周,但我真的不能想到什么方面,我会用在谷歌搜索。

任何帮助,非常感谢。

@echo off 
setlocal enabledelayedexpansion 
FIND /i "%computername%" < "C:\Build\Elevate\AccessElevations.txt" >%temp%\computer.txt 
FOR /F "tokens=1-6 delims=," %%a in (%temp%\computer.txt) DO (
set school=%%a 
set computerid=%%b 
set Model=%%c 
set Serial=%%d 
set user=%%e 
set access=%%f 
If /i "%%f" EQU "Admin" goto Elevate 
If /i "%%f" EQU "NoAdmin" goto End 
:Elevate 
set desc=!school! - !computerid! - !model! - !serial! - !user! 
echo. 
echo Now creating local admin account for !user! on !computerid! 
echo. 
echo Description: !desc! 
echo. 
net localgroup Administrators "GBN\!user!" /add 
net config server /srvcomment:"!desc!" 
) 

:End 
+0

什么不起作用? – unclemeat

+0

@unclemeat它失败了,因为它无法在列表中找到工作站名称,但是Usr:Magoo有正确的想法,谢谢你试图帮助。 – Random206

回答

1

FIND /i ...线

if errorlevel 1 goto :eof 

其前进到特殊标签:eof其中CMD理解为EndOfFile如果由find建立的错误级别不为零(零表示“发现它”)

+0

谢谢@Magoo这正是我想要的! – Random206