Inhalt von mehreren Unterordner kopieren und löschen mit Batch
Kurz gesagt:
Ich habe mehrere Unterordner deren Inahlt ich per Batch-Script an 2 neuen Speicherplätzen ablegen will.
Hallo,
ich benötige ein Batch-File das mir aus einem Hauptordner genannt: "Sprachen" den kompletten Inhalt der Unterordner an 2 neuen Pfaden ablegt/verschiebt. Die Dateien am alten Pfad können gelsöcht oder wie gesagt verschoben werden.
Beispiel:
:: Hauptordner ::
- DE (in diesen Unterordnern befinden sich PDF-Dateien)
- ES
- FR
Hier sollte das Script also nun hin gehen und damit anfangen, den Inhalt des Ordners "DE" an 2 neuen Pfaden a + b hin kopieren. Danach die Dateien im Ordner DE löschen und mit Ordner "ES" fortfahren usw...
Ist so etwas überhaupt möglich ?
cu
Crus
Ich habe mehrere Unterordner deren Inahlt ich per Batch-Script an 2 neuen Speicherplätzen ablegen will.
Hallo,
ich benötige ein Batch-File das mir aus einem Hauptordner genannt: "Sprachen" den kompletten Inhalt der Unterordner an 2 neuen Pfaden ablegt/verschiebt. Die Dateien am alten Pfad können gelsöcht oder wie gesagt verschoben werden.
Beispiel:
:: Hauptordner ::
- DE (in diesen Unterordnern befinden sich PDF-Dateien)
- ES
- FR
Hier sollte das Script also nun hin gehen und damit anfangen, den Inhalt des Ordners "DE" an 2 neuen Pfaden a + b hin kopieren. Danach die Dateien im Ordner DE löschen und mit Ordner "ES" fortfahren usw...
Ist so etwas überhaupt möglich ?
cu
Crus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70208
Url: https://administrator.de/contentid/70208
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
12 Kommentare
Neuester Kommentar
Zeichen zwischen /* und */ nicht mit tippen
@echo off
xcopy Quelle Ziel1 /E /K /I /H /F
xcopy Quelle Ziel2 /E /K /I /H /F
attrib -r -a -s -h Quelle /S
/* Löschen geht dann manuell am schnellsten denke ich */
/*
für Quelle den Quellort angeben
für Ziel1 den 1. Zielort
für Ziel2 den 2. Zielort
Option /E für Unterverzeichnisse mitkopieren
Option /K für Attribute mitkopieren
Option /I für Verzeichnis erstellen, wenn es nicht existiert
Option /H für versteckte Dateien mitkopieren
Option /F für Anzeiger der zu kopierenden Dateinamen
*/
@echo off
xcopy Quelle Ziel1 /E /K /I /H /F
xcopy Quelle Ziel2 /E /K /I /H /F
attrib -r -a -s -h Quelle /S
/* Löschen geht dann manuell am schnellsten denke ich */
/*
für Quelle den Quellort angeben
für Ziel1 den 1. Zielort
für Ziel2 den 2. Zielort
Option /E für Unterverzeichnisse mitkopieren
Option /K für Attribute mitkopieren
Option /I für Verzeichnis erstellen, wenn es nicht existiert
Option /H für versteckte Dateien mitkopieren
Option /F für Anzeiger der zu kopierenden Dateinamen
*/
Versuchs mal damit:
So sollte es gehen. Pfade müssen halt noch angepasst werden.
Es wird erstmal nur angezeigt was gemacht wird. Soll wirklich kopiert und gelöscht werden müssen die grossgeschriebenen ECHOs entfernt werden.
miniversum
set "quelle=C:\Hauptverzeichnis"
set "ziel1=C:\ziel1"
set "ziel2=C:\ziel2"
set "filefilter=*.*"
FOR /F "delims=" %%d in (dir /B /aD %quelle%) do (
ECHO copy /Y "%quelle%\%%d\%filefilter%" "%ziel1%"
ECHO copy /Y "%quelle%\%%d\%filefilter%" "%ziel2%"
ECHO rd /S /Q "%quelle%\%%d"
)
Es wird erstmal nur angezeigt was gemacht wird. Soll wirklich kopiert und gelöscht werden müssen die grossgeschriebenen ECHOs entfernt werden.
miniversum
Moin crus-online#de,
ich würde die Anforderung direkt vom CMD-Prompt abfackeln ohne so viele Variablen und Heckmeck.
... und dabei
Gruß
Biber
ich würde die Anforderung direkt vom CMD-Prompt abfackeln ohne so viele Variablen und Heckmeck.
>for /r "C:\PDFRoot\" %i in (*.pdf) do @for %j in ("copy "%i" "Ziel1"" "move %i "ziel2"") do @ECHO %~j
- statt "C:\PDFRoot\" Deinen Hauptordner oberhalb "ES", "DE". "PT" etc. einsetzen
- statt "Ziel1" und "Ziel2" deine Zielordner (die vorher schon existieren, denke ich)
- das letzte "@ECHO" ist nur zum gefahrlosen Testen - zum Ausführen einfach weglassen.
Gruß
Biber