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

Printed on: April 19, 2024 at 01:04 o'clock

Member: Chibisuke
Chibisuke Jan 20, 2011 at 18:49:38 (UTC)
Goto Top
Hi Freakster,

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

MfG Chibi
Member: bastla
bastla Jan 20, 2011 at 19:12:31 (UTC)
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
Member: mathe172
mathe172 Jan 20, 2011 at 20:39:17 (UTC)
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
Member: bastla
bastla Jan 20, 2011 at 22:44:05 (UTC)
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