2014-02-21 1 views
0

워크 스테이션 ID에 대해 텍스트 파일을 살펴보고 해당 워크 스테이션 ID 옆에있는 사용자를 로컬 관리자로 지정해야하는 스크립트가 있습니다.텍스트를 찾을 수없는 경우 일괄 찾기 스크립트 건너 뛰기

그러나 컴퓨터 이름을 찾을 수 없으면 단순히 파일 끝으로 이동하여 성공적으로 완료된 것처럼 종료하고 싶습니다.

나는 주변을 둘러 보았지만 실제로 Google에서 검색 할 용어를 생각할 수는 없다.

도움을 주시면 감사하겠습니다.

@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 의해 설정된 오류 수준인지 CMD가 EndOfFile으로 이해 :eof가 비 - 제로 (영 "을 발견"을 의미) 특별 라벨

로 진행 FIND /i ... 라인

if errorlevel 1 goto :eof 

+0

감사합니다. @Magoo 이것은 내가 원했던 것입니다! – Random206

관련 문제