2014-02-21 96 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