Batch, Xcopy logging Tipp gesucht

Nemac

Enthusiast
Thread Starter
Mitglied seit
03.04.2010
Beiträge
1.538
Ort
17033
Hallo,

Ich brauche mal einen Tipp.
Ich möchte auf einem Haufen Rechner eine DLL austauschen und muss das leider per Batch machen.

Ich dachte an sowas:

for /f %%i in (C:\Rechner.txt) do (
xcopy c:\xxx.dll \\%%i\c$\Windows\system32\ /y >> C:\log.txt
)

Ich hätte aber gern etwas mehr "logging" um zB Rechner zu finden, die nicht an sind, oder nicht am Netz sind.
Das dicke >> C:\log.txt schreibt leider nur "1 Dateien kopiert", oder "0 Dateien kopiert". Mir fehlt also eine Zuordnung zu Rechnername "%%i" und kopierten Dateien.

"Gelöst" hab ich das erstmal mit:

for /f %%i in (C:\Rechner.txt) do (
echo %%i >> c:\log.txt
xcopy \\xxx\msi_share$\Axxx.dll \\%%i\c$\Windows\system32\ /y >> C:\log.txt

aber wirklich schön und übersichtlich ist das nicht ;(

Gibts da noch einen Trick, den Rechnernamen noch mit in die xcopy-zeile und log zu bekommen? Oder eine ganz neue Idee? *grübel*

danke! ;)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Dich stört der eine Zeilenumbruch richtig?

Schreib dir ein Script, dass alle Zeilenumbrüche durch ein Semikolon ersetzt. Dann "kopiert;" durch "kopiert"+Zeilenumbruch ersetzen. Schon hast du eine Datei im Format

Rechnername;0 Dateien kopiert
Rechnername;1 Dateien kopiert

Anschließend muss das Script nur noch filtern und das Ergebnis in eine seperate Datei schreiben. Gegebenfalls nur die Rechnernamen.

Kannst dir das Filtern auch sparen und die umformatierte Log Datei einfach direkt mit Excel öffnen. Dank des Semikolons sollte Excel das in 2 Spalten darstellen und du kannst wunderbar mit dem Autofilter arbeiten.
 
Du meinst das Kopierteil so lassen, und eine Weitere Datei bauen, die das log "repariert"?
Wäre eine Idee..
Wobei das wohl nicht ganz so einfach wird..

Wenns kopieren geklappt hat, hab ich 3 Zeilen

Rechnername
Dateiname
1 Datei(en) kopiert

Wenns nicht geklappt hat
Rechnername
0 Datei(en) kopiert

na, mal schauen, danke erstma \o/
 
Passt wunderbar. Die aktuelle Lösung würde daraus folgendes machen.

Rechnername;Dateiname;1 Datei(en) kopiert
Rechnername;0 Datei(en) kopiert

Am Ende vieleicht noch "0 Datei(en)" ersetzen durch ";0 Datei(en)" dann stimmt es sogar in Excel.

Edit: Problematisch wird es erst wenn der Rechnername oder der Dateiname " Datei(en) kopiert;" beinhaltet. Das wäre die maximale Zeichenkette für die Geschichte mit dem Zeilenumbruch. Wenn der Rechnername oder der Dateiname zufällig dies Zeichenkette beinhaltet, würde da ein zusätzlicher Zeilenumbruch eingefügt werden.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh