aeternitas103
Goto Top

Software die Dateien verschiebt und per Textdatei gefüttert werden kann?

Hallo zusammen,

bin mal wieder auf der Suche nach einem geeigneten Tool.

Ich habe einen Windows-Share und möchte von dort Ordner auf einen anderen Server verschieben. Da die Ordner aber sehr verzweigt sind, kann ich (leider) nicht einfach "Cut and Paste" anwenden. Ich bräuchte eine absolut massgeschneidertes Programm das folgende Funktionen aufweist:

Es sollte per Kommandozeile gestartet werden können und dabei eine Textdatei mit Ordner-Pfaden abrackern. Am schönsten wenn es auch noch Rückmeldung über die kopierten Ordner geben würde.

Ich glaube, so anspruchsvoll bin ich nicht.

Hoffe jemand von euch kennt ein solches Progi. Mein Google hat leider nichts gefunden.

Content-ID: 82867

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

Ausgedruckt am: 26.11.2024 um 11:11 Uhr

60730
60730 11.03.2008 um 19:35:25 Uhr
Goto Top
Es sollte per Kommandozeile gestartet werden können und dabei eine Textdatei mit Ordner-Pfaden abrackern.

sorry, wenn ich dir das schreiben muß, das hört sich sehr nach "Batchbiber" an, ob er deine Frage jedoch hier findet....

Dein Posting wäre in #Batch besser aufgehoben.
51705
51705 11.03.2008 um 23:07:57 Uhr
Goto Top
Hallo,

ich gehe mal davon aus, daß du eine Windows-Funktion suchst. In den Resource Kit Tools ist 'robocopy.exe' enthalten. Damit kannst du das gewünschte über eine Kommandozeile sehr leicht umsetzen. Mit Kixtart oder ähnlichen kannst du auch eine Textdatei zur Steuerung verwenden.

Grüße, Steffen
bastla
bastla 12.03.2008 um 01:02:30 Uhr
Goto Top
Hallo aeternitas103!

Dem Hinweis von TimoBeil hinsichtlich des besser geeigneten Forumsbereiches "Batch & Shell" kann ich mich nur anschließen ...

Da ich schon mal hier bin, könnte ich Dir aber auch noch folgenden Batch zum Testen anbieten (bitte "testen", also nicht gleich auf wichtige Daten loslassen face-wink):
@echo off & setlocal
set "Ziel=\\Server\Share"  
set "Liste=D:\Ordnerliste.txt"  

for /f "usebackq delims=" %%i in ("%Liste%") do if exist "%%~i" echo Kopiere  : %%~i && xcopy /e /c "%%~i" "%Ziel%\%%~pnxi\">nul && rd /s /q "%%~i" && echo Geloescht: %%~i  
Aufbau der "Ordnerliste.txt": Jeder Ordner muss mit vollständigem Pfad in einer eigenen Zeile stehen.

Technisch gesehen wird das "Verschieben" (wie auch der Ausgabe des Batches zu entnehmen) in die beiden Schritte "Kopieren" und (bei Erfolg) anschließendes Löschen der einzelnen Quellordner (jeweils samt aller Unterordner) aufgeteilt.


Grüße
bastla
Biber
Biber 12.03.2008 um 08:43:02 Uhr
Goto Top
Moin aeternitas103,

wie übereinstimmend schon in den anderen Kommentaren geschrieben wurde:
Individual-Progrämmchen sind sinnvoller im Bereich Entwicklung/Skripting oder in diesem Fall "Batch & Shell" aufgehoben. Ich verschiebe die Frage mal dorthin.

Vielleicht kannst Du noch mal ein, zwei Sätze zum Entstehen dieser Verzeichnis-Textdatei erzählen. Eigentlich sollte ja alles, was irgendwie automatisierbar ist, in einem (Batch-)Prozess abgebildet werden. Und da ich nicht annehme, dass irgendwelche PraktikantInnen sich diese Liste ausdenken und eintippen, könnten wir eventuell an dieser Stelle die Individuallösung noch passender machen.

....eine 80%-Lösung hätte es ja auch in "deinem Google" vielleicht gegeben... unser Standard sind 98%..

Grüße
Biber
aeternitas103
aeternitas103 12.03.2008 um 10:41:36 Uhr
Goto Top
Hallo zusammen,

Vielen Dank für eure Antworten. Es ist mir durchaus bewusst das hier Batch die Mutter aller Lösungungen ist. Leider ist mein Zeitplan etwas zu knapp um noch mit einer Batch zu hantieren. Ich müsste bis heute Abend damit fertig sein face-sad, also nicht mehr viel Zeit um das ganze zu testen.

Nun, eigentlich sollte niemand mehr etwas eintippen müssen. Die Ordner werden per Script automatisch anhand von Namen aus einer Datenbank erstellt. Dadurch ist auch der Pfad schon bekannt. Wenn nun ein Projekt abgeschlossen wird, sollte es automatisch vom Produktionsserver auf den Archiv-Server verschoben werden.

Mein Problem mit Batch ist, das durchaus viele, sehr Grosse Ordner (bis zu ~20GB) täglich kopiert werden sollen. Aus Performance Gründen sollte also nur jeweils ein Kopier Prozess zugleich gestartet werden.

Andere Lösung: Wie kann ich bei Robocopy den Quell Ordner mit kopieren. Wenn ich nämlich robocopy mit /E /COPYALL /MOVE verwende wird der "Root"-Ordner nicht mitkopiert?