XCOPY Hilfe bei Batch
weiß net weiter
Hallo an alle
habe eine BAT Datei
ich will eine datei kopieren als Bsp: xyz.ini
de kommt auf einen Server.Dort legt er die IP Adresse im Ordner so wie es soll vom PC!
Problem ist nur das es bei einigen C:\Programme\ ist und bei anderen C:\Program Files\
also insgesammt 4 Quellen :D je nachdem ob englisch oder Deutsch oder neue Software!
meine bat sieht ca so aus ( ohne die ordner erstellungs-Befhel für IP)
REM von WO soll gesichert werden?
REM --------------------------------------
set quelle="C:\Programme\Software\ini" if not exist goto set
:set
set quelle="C:\Program Files\Software\ini" if not exist goto set1
:set1
set quelle="C:\Programme\Software1\ini"
REM WOHIN sollen die Daten kopiert werden?
REM --------------------------------------
Set ziel=\\serverxy\software\%IP%\
REM -----------------------------Kopiervorgang------------------------------------
set fehler=0
xcopy /i /y /v /q %quelle%\xyz.ini %ziel%
if ERRORLEVEL 1 (set /a fehler=%fehler%+1)
Das Problem ist nur er findet die xyz.ini nicht wenn es net zufällig c:\Programme\software ist.
Er lässt die anderen Quellen einfach komplett aus!
Was kann i da machen?
habe eine BAT Datei
ich will eine datei kopieren als Bsp: xyz.ini
de kommt auf einen Server.Dort legt er die IP Adresse im Ordner so wie es soll vom PC!
Problem ist nur das es bei einigen C:\Programme\ ist und bei anderen C:\Program Files\
also insgesammt 4 Quellen :D je nachdem ob englisch oder Deutsch oder neue Software!
meine bat sieht ca so aus ( ohne die ordner erstellungs-Befhel für IP)
REM von WO soll gesichert werden?
REM --------------------------------------
set quelle="C:\Programme\Software\ini" if not exist goto set
:set
set quelle="C:\Program Files\Software\ini" if not exist goto set1
:set1
set quelle="C:\Programme\Software1\ini"
REM WOHIN sollen die Daten kopiert werden?
REM --------------------------------------
Set ziel=\\serverxy\software\%IP%\
REM -----------------------------Kopiervorgang------------------------------------
set fehler=0
xcopy /i /y /v /q %quelle%\xyz.ini %ziel%
if ERRORLEVEL 1 (set /a fehler=%fehler%+1)
Das Problem ist nur er findet die xyz.ini nicht wenn es net zufällig c:\Programme\software ist.
Er lässt die anderen Quellen einfach komplett aus!
Was kann i da machen?
Please also mark the comments that contributed to the solution of the article
Content-Key: 191377
Url: https://administrator.de/contentid/191377
Printed on: April 27, 2024 at 02:04 o'clock
4 Comments
Latest comment
Guten Morgen
Die Ordnerhierarchie existiert aber schon? Du hast in jedem Software-Ordner einen Unterordner namens ini?
Setzt doch an das Ende der batch-File ein Pause und schau es dir die Ausgabe mal an. Deine ersten beiden Quellen wird er nicht finden, ergo geht er zu set1. Dort sucht er dann.
xcopy /i /y /v /q "C:\Programme\Software1\ini"\xyz.ini \\serverxy\software\%IP%\
Datei xyz.ini nicht gefunden.
0 Datei(en) kopiert
So sollte deine Ausgabe dann in etwa aussehen.
Prüf das doch mal und gib gegebenfalls die Ausgabe hier preis, falls du mit dieser nicht klar kommst.
LG
Die Ordnerhierarchie existiert aber schon? Du hast in jedem Software-Ordner einen Unterordner namens ini?
Setzt doch an das Ende der batch-File ein Pause und schau es dir die Ausgabe mal an. Deine ersten beiden Quellen wird er nicht finden, ergo geht er zu set1. Dort sucht er dann.
xcopy /i /y /v /q "C:\Programme\Software1\ini"\xyz.ini \\serverxy\software\%IP%\
Datei xyz.ini nicht gefunden.
0 Datei(en) kopiert
So sollte deine Ausgabe dann in etwa aussehen.
Prüf das doch mal und gib gegebenfalls die Ausgabe hier preis, falls du mit dieser nicht klar kommst.
LG
Hallo andr3000!
Einfach richtige "
Grüße
bastla
Einfach richtige "
if
" verwenden - Dein (ohne passende Formatierung gepostetes) Beispiel ist (sogar, wenn das jeweilige "if
" in einer eigenen Zeile stünde) logisch und syntaktisch falsch - grundsätzlich (aber ungetestet ) könnte das etwa so aussehen:REM von WO soll gesichert werden?
REM --------------------------------------
set "quelle=C:\Programme\Software\ini"
if exist "%quelle%" goto :Kopieren
set "quelle=C:\Program Files\Software\ini"
if exist "%quelle%" goto :Kopieren
set "quelle=C:\Programme\Software1\ini"
if exist "%quelle%" goto :Kopieren
echo Quelle nicht gefunden!
goto :eof
:Kopieren
REM WOHIN sollen die Daten kopiert werden?
REM --------------------------------------
Set "ziel=\\serverxy\software\%IP%\"
REM -----------------------------Kopiervorgang------------------------------------
set fehler=0
xcopy /yq "%quelle%\xyz.ini" "%ziel%" || set /a fehler+=1
bastla