23698
Goto Top

Daten von Netzlaufwerk zu Netzwerklaufwerk verschieben

Hallo,

ich habe zwei Server, die auf meinem PC als Netzwerkaufwerk gemappt sind. Jetzt würde ich gerne per Batchdatei eine Datei, die immer den selben Namen hat und im gleichen Verzeichniss liegt von Server 1 zu Server 2 schieben.

Hierzu habe ich jetzt eine Batchdatei mit folgendem Inhalt geschrieben:

echo Dateien werden kopiert
xcopy /Y/s/I O:\Verzeichnis1\Datei.txt x:\Verzeichnis2\Datei.txt
echo

echo Dateien werden geloescht
del O:\Verzeichnis1\Datei.txt /S /Q
echo

echo Denkpause
ping XXX.XXX.XXX.XXX
echo

echo Datei umbennen
x:
cd Verzeichnis2
rename Datei.txt datei
echo FERTIG


Das die Datei keine Dateiendung hat, ist beabsichtigt !

Mein Problem liegt jetzt daran, dass ich beim Ausführen der Datei folgende Meldung erhalte:

"Ist das Ziel x:\Verzeichnis2\Datei.txt ein Dateiname oder ein Verzeichnisname"

Da es sich hierbei um einen Dateinamen handelt, beantworte ich die Frage mit D dann funktioniert auch alles.

Wie kann ich die Frage ob es sich um eine Datei oder ein Verzeichniss automatisch mit D beantworten lassen, bzw. welche andere Möglichkeit hab ich noch dies zu realisieren?

Danke fürs Lesen, und hoffentlich auch beantworten

Content-Key: 159097

Url: https://administrator.de/contentid/159097

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: Chibisuke
Chibisuke 20.01.2011 um 19:49:38 Uhr
Goto Top
Hi Freakster,

würde auf die mit simpelste Version tippen und einfach beim xcopy den Dateinamen hinter Verzeichnis2 weglassen.

MfG Chibi
Mitglied: bastla
bastla 20.01.2011 um 20:12:31 Uhr
Goto Top
Hallo Freakster und willkommen im Forum!

Wenn Du schon für eine einzige Datei ein "xcopy" bemühst, kann das eigentlich nur daran liegen, dass es den Zielpfad (ev) noch nicht gibt und Du den passenden "md"-Befehl einsparen willst - ansonsten würde es auch ein einfaches "copy" tun ...

... aber da Du ja eigentlich ein "move" anstrebst, würde ich trotzdem einfach den Pfad vorweg anlegen und dann das Verschieben inkl Umbenennen in einem zweiten Schritt erledigen, etwa:
md x:\Verzeichnis2\ 2>nul
move O:\Verzeichnis1\Datei.txt x:\Verzeichnis2\Datei
Grüße
bastla
Mitglied: mathe172
mathe172 20.01.2011 um 21:39:17 Uhr
Goto Top
Hallo Freakster!

Ich würde mich zwar auch an die Tipps oben halten, aber wenn du's wissen willst, mit "|" gibt man die ausgabe eines Befehl an den nächsten weiter

Also etwa:
REM Die Ausgabe des Echo-Befehls ("D") weiterleiten (pipen)  
(echo D)|xcopy "OrtA/Datei" "OrtB"  

Mathe172
Mitglied: bastla
bastla 20.01.2011 um 23:44:05 Uhr
Goto Top
@mathe172
Wenn's nur darum ginge, den Befehl
xcopy /Y/s/I O:\Verzeichnis1\Datei.txt x:\Verzeichnis2\Datei.txt
ohne Rückfrage zu realisieren, genügte schon ein "*" am Ende:
xcopy /Y/s/I O:\Verzeichnis1\Datei.txt x:\Verzeichnis2\Datei.txt*
wobei das "/I" ja in beiden Versionen sinnlos (und das "/s" entbehrlich) ist ...

Grüße
bastla