如果找不到文本,则批量跳过查找脚本

时间:2014-02-21 01:22:15

标签: batch-file if-statement for-loop find

我有一个脚本应该查看文本文件,查看其工作站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

1 个答案:

答案 0 :(得分:1)

FIND /i ...行之后

if errorlevel 1 goto :eof
如果:eof建立的错误级别为非零(零表示“找到它”),则

进入特殊标签CMD find将其理解为EndOfFile