Batch Xcopy mehrere quellen

Hotte3st

Cadet 4th Year
Registriert
Apr. 2011
Beiträge
70
Hallo an alle im Forum

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?
 
Ist das nicht falsch geschrieben ?
Ich kenne es so:

Code:
if exist "C:\Programme\Software\ini" goto kopiervorgang
if not exist "C:\Programme\Software\ini" goto nextcheck1

:nextcheck1

if exist "C:\Program Files\Software\ini" goto kopiervorgang
if not exist "C:\Program Files\Software\ini" goto nextcheck2

:nextcheck2

if exist "C:\Programme\Software1\ini" goto kopiervorgang
if not exist "C:\Programme\Software1\ini" goto fehler

:kopiervorgang

blablaxcopy

:fehler

blablafehler
 
Das mit dem Check ob es nun "C:\Programme\" oder "C:\Program Files\" oder was immer vorhanden ist, kann man mit der Umgebungsvariable %PROGRAMFILES% umgehen!!!

man sollte auch keine Commando Namen für Sprungadressen benutzen, zB. SET, ist ein no go...
Ergänzung ()

noch einfacher:
Code:
@echo off
if exist %PROGRAMFILES%\Software\tart.txt (call:kopiervorgang) else (call:nextcheck1)
exit

:nextcheck1
if exist %PROGRAMFILES%\Software1\tart.txt (call:kopiervorgang) else (call:ERROR)
exit

:Kopiervorgang
REM ;copy file X:\x.dir\x.file to y:\y.dir\
echo "TaDa!"
pause
exit

:ERROR
echo "File does not exist!"
pause
exit
 
Zurück
Oben