batch file - ping before Copy
hiho
ich kopiere über batch auf ca 100 rechner ab und zu dateien
for /L %X in (1,1,100) do copy c:\*.txt \\IP%X\c\
wenn einiger der zielrechner nicht vorhanden sind dauert das Kopieren extrem lange
ich suche einen weg ein ping vor dem kopieren zu senden und wenn der zielrechner nicht antwortet das kopieren zu überspringen
quasi
ping %X - wenn ok kopiere sonst nächstes
ps
skip existing files beim kopieren scheint es nicht zu geben ?
thx
ich kopiere über batch auf ca 100 rechner ab und zu dateien
for /L %X in (1,1,100) do copy c:\*.txt \\IP%X\c\
wenn einiger der zielrechner nicht vorhanden sind dauert das Kopieren extrem lange
ich suche einen weg ein ping vor dem kopieren zu senden und wenn der zielrechner nicht antwortet das kopieren zu überspringen
quasi
ping %X - wenn ok kopiere sonst nächstes
ps
skip existing files beim kopieren scheint es nicht zu geben ?
thx
Please also mark the comments that contributed to the solution of the article
Content-Key: 73949
Url: https://administrator.de/contentid/73949
Printed on: April 24, 2024 at 04:04 o'clock
3 Comments
Latest comment
Moin Quakemarine1,
Du kannst auch mehrere CMD-Befehlen quasi hintereinanderschlalten, indem Du sie mit
In Deinem Fall hast Du dafür 2 beliebte Möglichkeiten
Der Weg 1 wäre logisch, wenn M$'s Ping.exe immer ein "Erfolgreich"/"In die Grütze" zurückgeben würde und dieses irgendwie mit der gewollten Aktion korrelieren würde.
Deshalb nimm lieber Weg 2.
Wenn Du nur die noch nicht vorhandenen Dateien kopieren willst, würde ich statt "Copy" irgendein aufgemotztes Copy (XCopy, RoboCopy,...) nehmen. Die können das.
Wenn Du es mit Copy machen willst, dann musst Du vor jeder einzelnen Datei ein "IF NOT EXIST \\IP%X\c\zieldatei" davorschalten.
Grüße
Biber
Du kannst auch mehrere CMD-Befehlen quasi hintereinanderschlalten, indem Du sie mit
In Deinem Fall hast Du dafür 2 beliebte Möglichkeiten
- entweder ein [ping computer >nul && danach copy]
- oder ein [ping computer|find "Erfolgstext">nul && und dann copy].
Der Weg 1 wäre logisch, wenn M$'s Ping.exe immer ein "Erfolgreich"/"In die Grütze" zurückgeben würde und dieses irgendwie mit der gewollten Aktion korrelieren würde.
Deshalb nimm lieber Weg 2.
for /L %X in (1,1,100) do (
ping IP%X|find "Antwort" >nul && copy c:\*.txt \\IP%X\c\
)
Wenn Du nur die noch nicht vorhandenen Dateien kopieren willst, würde ich statt "Copy" irgendein aufgemotztes Copy (XCopy, RoboCopy,...) nehmen. Die können das.
Wenn Du es mit Copy machen willst, dann musst Du vor jeder einzelnen Datei ein "IF NOT EXIST \\IP%X\c\zieldatei" davorschalten.
Grüße
Biber