Solved

batch file to push host file to remote computer

Posted on 2009-04-09
2
763 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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
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…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

770 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