Batch Skript zum Ordner verschieben?

...komplette Frage anzeigen

2 Antworten

du könntest die Errorlevelausgabe auswerten, die hat ja je nachdem ob Erfolg oder nicht eine bestimmte Größe.

Das wäre es wohl ungefähr so.

xcopy ...\\\\test1_DB-TTMMYYYY\\\\*.* ...Backup_test1\\\\
if errorlevel 1 goto END 
del ...\\\\test1_DB-TTMMYYYY\\\\*.*

:END
Exit



oder sowas in der Art.

(Achtung, die Abfrage bedeutet wörtlich "ist der Rückgabewert nicht GRÖSSER oder GLEICH 1" (0 wäre eine erfolgreiche Aktion, alles darüber sind Fehler, glaub ich)


So würde ich die Sache angehen. Ich möchts aber nicht selbst machen, da ich nicht dafür verantwortlich sein will, dass dir irgendwas verloren geht ^^

du solltest das also vorher an Testordnern versuchen.



Antwort bewerten Vielen Dank für Deine Bewertung
Maisbaer78 01.11.2016, 22:54

oder aber, du erledigst die Kopierarbeit, und vergleichst anschliessend in einer doppelten FOR Schleife , ob jede einzelne Datei im Zielordner vorhanden ist. Ist dem so, kann Sie in der gleichen Schleife gelöscht werden.

Das wäre mir die liebere weil sicherere Alternative.

0
MoeS1973 02.11.2016, 01:11
@Maisbaer78

Danke für die Antwort. Bleibt nur noch die Frage, wie ich dem Skript beibringe die Ordner test1_DB...,  test1_Seq...  und test1_Arc...
nach Backup_test1 bzw test2_DB...,  test2_Mol...  und test2_Farg... nach Backup_test2 zu kopieren. Die Ordner hier stehen beispielhaft für relativ viele Ordner, so dass das per Hand recht aufwändig und fehleranfällig ist.

1
Maisbaer78 02.11.2016, 10:21
@MoeS1973

achso du meinst, das Script soll selbstständig erkennen welche Ordner vorhanden sind, nach deren Namen dann neue Ordner auf dem NAS anzulegen und den Inhalt jedes erkannten Ordners in den entsprechenden Ordner auf dem Nas zu kopieren?

Das wäre ebenfalls mit FOR möglich

FOR /F "Tokens=1,* Delims=_" %%i in ('Dir /b *.') do (md \\hierdasNAS\Backup_%%i ) & (copy ...\%%i_%%j  \\hierdasNAS\Backup_%%i )


Aber nagel mich nicht drauf fest, bei FOR Schleifen bin ich immer etwas unsicher ^^

Damit sollten eigentlich die Ordnernamen im Quellpfad auf die Bezeichnung vor dem ersten _ gekürzt und daraus im NAS -Pfad ein entsprechend benanntes Verzeichnis angelegt werden. Anschliessend sollten die gesamten Ordner (der Name setzt sich aus %%i_%%j zusammen (den Unterstrich als erstes Trennzeichen muss ich wieder reinbasteln sonst fehlt er)  in Ihr zugewiesenes Verzeichnis kopiert werden.

Die automatische Überprüfung könnte theoretisch auch noch in der selben Schleife stehen, aber ich bin da wie gesagt nicht so firm.

Da das von dir Beispielnamen sind musst du schauen, ob das Trennzeichen tatsächlich ein _ ist oder etwas anderes, das müsstest du dann einfügen.

Achso und wenn du die Zeile testweise in der Commandozeile ausführen willst, dann nur jeweils ein % vor den Variablen. Doppelte sind nötig, wenn das ganze in einer Batch steht.


0

Rsync für Windows suchen und installieren. Es kopiert ganze Verzeichnisbäume und kontrolliert den Erfolg der Operation. Rsync stammt aus der Unix-Welt und wurde nach Windows portiert. Einfach die Suchmaschine des Vertrauens bemühen.

Antwort bewerten Vielen Dank für Deine Bewertung
MoeS1973 09.11.2016, 23:04

Leider kann ich auf dem PC keine Software installieren (gehört der Firma)

0

Was möchtest Du wissen?