batcherdna
Goto Top

Ordnerinhalte per Batch-Datei in den übergeordneten Ordner verschieben und den alten Ordner löschen

Hallo,

ich habe folgendes Problem:

Alle Dateien Z:\Kunden\KundeA\ArtikelA\Korrespondenz sollen verschoben werden in Z:\Kunden\KundeA\ArtikelA\Dokumentation, danach soll der Ordner Korrespondenz gelöscht werden

Es sollen also alle Dateien aus den Unterordner Korrespondenz in den Ordner Dokumentation verschoben werden, der sich im gleichen Verzeichnis befindet.

Vielen Dank

Content-ID: 151465

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

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

kugman
kugman 21.09.2010 um 16:06:18 Uhr
Goto Top
Hallo batcherdna

is das was einmaliges, oder soll das regelmäßig passieren?


edit: gehe ich recht in der Annahme, dass es auch noch KundeB undsoweiter gibt?
em-pie
em-pie 21.09.2010 um 16:12:23 Uhr
Goto Top
jaja die gute alte Batch samt deren Befehlen:

Move Z:\Kunden\KundeA\ArtikelA\Korrespondenz\*.* "Z:\Kunden\KundeA\ArtikelA\Dokumentation"
del Z:\Kunden\KundeA\ArtikelA\Dokumentation

So einfach kanns sein

einfach mal bei Google:
Batch +verschieben eingeben ;)

manchmal habe ich das Gefühl, es sollte eine Ausbildung namens "Google Anwender" von der IHK "angeboten" werden...
bastla
bastla 21.09.2010 um 16:21:46 Uhr
Goto Top
@meistro87
del Z:\Kunden\KundeA\ArtikelA\Dokumentation

So einfach kanns sein
Für "danach soll der Ordner Korrespondenz gelöscht werden" vielleicht sogar zu einfach ... face-wink

Grüße
bastla

P.S.: Für Batch-Schnipsel und Ähnliches hätten wir eine passende ...
em-pie
em-pie 21.09.2010 um 16:28:11 Uhr
Goto Top
ahh stimmt.... ich war so aufgeregt, da hab ich an die "Code" Tags nimma gedacht :D

So Spaß beiseite....

Wenn es mehrere Kundenordner gibt (>26, weil Zahlen vllt noch dabei sind) wäre eine For schleife besser... kriege ich jetzt aber aus dem Kopf nicht hin...

HIer ist unser gute alter Freund Google (oder aber der ein oder andere Scripter hier) der deutlich bessere Ansprechpartner...
batcherdna
batcherdna 21.09.2010 um 16:40:24 Uhr
Goto Top
Hallo,

es ist etwas einmaliges und es gibt auch noch KundeB usw.
batcherdna
batcherdna 21.09.2010 um 17:02:47 Uhr
Goto Top
Hallo die Struktur ist folgendermaßen aufgebaut:

Z:/Kunden/Porsche/911/Korrespondenz und dieser Ordnerinhalt soll in den Ordner Z:/Kunden/Porsche/911/Dokumentation.
Das Problem ist, das es ca. 50 Artikel für Porsche gibt und es ca. 100 unterschiedliche Kunden gibt.
bastla
bastla 21.09.2010 um 17:04:46 Uhr
Goto Top
Hallo meistro87!

Eigentlich hätte ich ja eher gedacht, Du würdest Dir hinsichtlich des "del" nochmals Gedanken machen ...

Grüße
bastla
bastla
bastla 21.09.2010 um 17:13:59 Uhr
Goto Top
Hallo batcherdna und willkommen im Forum!

Nur um die Struktur nochmals abzuklären: Die Ordner "Dokumentation" und "Korrespondenz" liegen immer nebeneinander (und sind auch immer beide vorhanden), und für alle diese "Paare" soll das Verschieben erfolgen? Wenn ja würde ich das (ungetestet) so versuchen:
@echo on & setlocal
for /f "delims=" %%i in ('dir /s /b /ad Z:\Dokumentation') do (  
    pushd "%%i"  
    move ..\Korrespondenz\*.* && rd ..\Korrespondenz
    popd
)
Achtung - es werden tatsächlich Dateien verschoben und Ordner gelöscht (daher bitte zunächst mit Testdaten arbeiten)!

Kurz zur Funktionsweise:
Es wird durch den "dir"-Befehl im Laufwerk Z: nach allen Ordner mit dem Namen "Dokumentation" gesucht, dann in jeden einzelnen dieser Ordner gesprungen und von dort ausgehend aus dem im - diesem Ordner übergeordneten - Ordner ".." liegenden Ordner "Korrespondenz" alle Dateien abgeholt, sowie, wenn dies fehlerfrei (daher Verknüpfung mit "&&") erfolgte, der "Korrespondenz"-Ordner gelöscht. Das "popd" ist das Gegenstück zum "pushd" und sorgt für den Rücksprung aus dem Ordner "Dokumentation" (was in diesem Fall zwar nicht erforderlich ist, aber es sollte immer zu einem "pushd" auch das korrespondierende "popd" gebebn).

Grüße
bastla
em-pie
em-pie 21.09.2010 um 17:34:34 Uhr
Goto Top
ich lösche so selten ganze Ordner via Batch....

habe da irgendwo nen fertiges Robocopy-Script liegen... wobei ich hier seltener ganze Verzeichnisse leer machen muss und anschließend den Ordner separat lösche...

Aber hast recht... beim genaueren Nachdenken fällt es mir wie schuppen aus den Haaren ;)

Gruß
meistro
batcherdna
batcherdna 21.09.2010 um 17:37:54 Uhr
Goto Top
Also lokal funktioniert es, jedoch nicht auf dem Netzlaufwerk.
bastla
bastla 21.09.2010 um 17:41:06 Uhr
Goto Top
[OT]
@meistro87
Sieh's positiv - immerhin hast Du noch Haare ... face-wink

Grüße
bastla
[/OT]
bastla
bastla 21.09.2010 um 17:41:59 Uhr
Goto Top
Hallo batcherdna!

Es geht doch nix über eine aussagekräftige Fehlerbeschreibung ...

Grüße
bastla
batcherdna
batcherdna 21.09.2010 um 18:19:45 Uhr
Goto Top
Also es hat funktioniert. Danke soweit. Von einer vorhergehenden Batch-Datei, an der ich mich selbst versucht habe, habe ich die Dateien aus dem Ordner Korrespondenz in den übergeordneten Ordner Artikel kopiert. Jetzt sind die Dateien doppelt. Also sie liegen unter dem Ordner Z:\Kunden\Porsche\911\Dokumentation und Z:\Kunden\Porsche\911. Jetzt möchte ich, daß die doppelten Dateien, aber nur die Doppelten, also unter Z:\Kunden\Porsche\911 zuerst verglichen werden und dann gelöscht.
bastla
bastla 21.09.2010 um 18:32:21 Uhr
Goto Top
Hallo batcherdna!

Lässt sich auch mit Batch machen, aber Du könntest es auch mit zB CloneSpy versuchen - damit wird auf Wunsch (Option "Defer deletion to batch file") das Löschen durch einen Batch vorgenommen (den Du, zusammen mit dem erstellten Log, vorweg in aller Ruhe kontrollieren kannst) und es gibt auch die Option, von gleichen Dateien jene mit dem kürzeren Pfad zu löschen ("Automatically delete (without confirmation) files with shorter dir path") - mit "Search for Duplicates + same name" solltest Du dann eigentlich ziemlich auf der sicheren Seite sein ...

Grüße
bastla
batcherdna
batcherdna 22.09.2010 um 10:18:42 Uhr
Goto Top
Also tausend Dank für die Hilfe. Gibts ein Forum für VPN -Verbindungen? Danke