Solved

batch file to push host file to remote computer

Posted on 2009-04-09
2
770 Views
Last Modified: 2012-05-06
Hi all, I have a need to push out a central host file to remote computers.

del results.txt
FOR /F %%a IN (list.txt) DO XCOPY /y c:\test2.txt \\%%a\c$\windows\system32\drivers\etc >> results.txt
echo %date% %time% %errorlevel%>>results.txt

This is what I have so far.  I would like the results.txt to list the computer name where the file was not copied....right now it says 0 File(s) copied.
I have 400 computers to run this on.....So I need to be able to identify which computers did not get the copy  for whatever reason...
0
Comment
Question by:bfpnaeechange
2 Comments
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
ID: 24108873
del results.txt
FOR /F %%a IN (list.txt) DO (
  XCOPY /y c:\test2.txt \\%%a\admin$\system32\drivers\etc
  if errorlevel==1 then echo Error with %%a >> results
  echo %date% %time% %errorlevel%>>results.txt
  )
0
 
LVL 69

Expert Comment

by:Qlemo
ID: 24121681
sirbounty,
I do not believe that %errorlevel% in for will work, as variable substitution is performed when DO is reached, so errorlevel holds the state when FOR is executed.
You will have to use delayed expansion, as in first part of my Snippet.
I agree to your usage of admin$ share.

bfpnaeechange,
the second part is an alternative way to do it, avoiding errorlevel, and introducing some "improvements".


@echo off
setlocal EnableDelayedExpansion
del results.txt 2>nul >nul
FOR /F %%C IN (list.txt) DO (
  XCOPY /y c:\test2.txt \\%%C\admin$\system32\drivers\etc 
  if errorlevel 1 then echo Error with %%C >> results
  echo !date! !time! !errorlevel!>>results.txt
)
 
@REM -- Another way --
@echo off
setlocal EnableDelayedExpansion
FOR /F %%C IN (list.txt) DO (
  set line=!date! !time! %%C
  XCOPY /y c:\test2.txt \\%%C\admin$\system32\drivers\etc >nul 2>&1 || set line=!line! Error 
  echo !line!
) >results.txt

Open in new window

0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

VALIDATING DATES One method of validating dates is to jam the date into the DATE command and see if it accepts it by examining the system's errorlevel value. A non-zero result indicates failure. A typical example might look something like the fol…
Being a system administrator some time we require to do things remotely, one of them is installing software. Here I am going to tell you how to install software through wmic (Windows management instrument console). I am not at all saying that this i…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question