How to Check if a Hostname exist BGINFO batch file

i would like to check Hostnames before i depoly  BGINFO to my network. if exist  exit the script. the reason behind this is  i want to exclude some computers running BGinfo.  i  don't want to create  new OU AD to apply GPO.
i need a batch file to do that job. please help
   batch file it would look like
          If hostname = "hostA" :exit
           
         else
              excute the BGINFO
     
geedi4Asked:
Who is Participating?
 
geedi4Author Commented:
thanks fryguy nad paka.

i'm going to tested i will let you guys know.
0
 
Ryan WeaverInfrastructure ManagerCommented:
The environment will give you %COMPUTERNAME% and %USERDNSNAME%, so you could:

if /i %COMPUTERNAME$ == "HostA" exit (or use a goto label if more needs to be done in the batch).

The /i would mean ignore case.
0
 
PakaCommented:
Copy to checkbginfo.bat
-------------
echo off
for /f "tokens=*" %%G in (testcomps.txt) do if %%G == %computername% (call CALLBGINFO.BAT)
-------------

Where testcomps.txt contains a list of computers you want to run BGINFO on.  Make sure you use UPPERCASE characters to define these.

And CALLBGINFO.BAT is another batch file to call BGINFO with the command line parameters - you probably want to display BGInfo immediately instead of waiting for the timeout.
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
geedi4Author Commented:
thanks for quick reply

we have 100 computers how can i call and check txt file all the computers name in it.

or this script will do the job of 100 computers  /i %COMPUTERNAME$ == "HostA" exit

thanks
0
 
geedi4Author Commented:
paka thanks mate

echo off
for /f "tokens=*" %%G in (testcomps.txt) do if %%G == %computername%
(call CALLBGINFO.BAT) do have to use the brackets

testcomps.txt  you mean all the computernames should be uppercase in txt file

my bginfo look like this do i have to change anything

@echo on


del "C:\Documents and Settings\guled\Local Settings\Temp\BGinfo.bmp" /F /Q
echo deleted image
pause
goto Bginfoexe

:bgcreate
echo create directory
pause
mkdir C:\WINDOWS\Temp
cacls C:\WINDOWS\Temp /E /G  "Authenticated Users":F
goto Bginfoexe

:Bginfoexe
if NOT exist C:\WINDOWS\Temp goto bgcreate
echo bg create
pause
start C:\bginfo\bgibmp\bginfo.exe C:\bginfo\bgibmp\bginfo.bgi /silent /nolicprompt /timer:0
echo done
pause
EXIT

0
 
PakaCommented:
Add all 100 computernames to the testcomps.txt file (make sure they are in capital letters) and the batch will read though the file and run BGInfo for those that are in the file.  Obviously, there will be a performance penalty if the the list gets too big, but for 100-200 the hit shouldn't be noticeable.

The for /f statement will take care of loading the names, the if %%G will check the names...
0
 
Ryan WeaverInfrastructure ManagerCommented:
You could have a names.txt of to be excluded then you could do something like:

find %COMPUTERNAME% c:\file.txt > NULL
if ERRORLEVEL 1 exit

I believe this will work, but should definitely tested.
0
 
Ryan WeaverInfrastructure ManagerCommented:
Might need quotes around the variable.

find "%COMPUTERNAME%" c:\file.txt > NULL

0
 
geedi4Author Commented:
i have tested  and it worked thanks everybody
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.