Dateien in eine Verzeichnisebene höher verschieben (Batch oder Powershell)
Ich habe ein grosse Zahl an Dateien, die verschachtelt in Unterverzeichnissen liegen, in etwa so:
D:\Ebene1\Ordner1A\Ordner1B\Dateiname1.xls
D:\Ebene1\Ordner2A\Ordner2B\Dateiname2.xls
D:\Ebene1\Ordner3A\Ordner3B\Dateiname3.xls
usw.
Ich müsste die Dateien (Dateiname1.xls etc) aus dem Verzeichnis Ordner<x>B eine Ebene höher, also in Ordner<x>A verschieben. Optimalerweise dann auch gleich das dann leere Verzeichnis Ordner<x>B löschen, aber zur Not kann das auch bleiben.
Hinterher sollte es also so aussehen:
D:\Ebene1\Ordner1A\Dateiname1.xls
D:\Ebene1\Ordner2A\Dateiname2.xls
D:\Ebene1\Ordner3A\Dateiname3.xls
usw.
Die Ordner und Dateien haben sehr unterschiedliche Namen...
[Edit: ] Leider ist beides auch schon gemischt, d.h. in manchen Verzeichnissen liegen die Dateien schon in Ordner<x>A. Ein script müsste also prüfen, ob es ggf. ein Unterverzeichnis Ordner<x>B überhaupt gibt, und nur dann die darin enthaltene Datei verschieben.
Ist sowas leicht per Windows10 Batch-Datei (oder Powershell-Kommandozeile) möglich?
Viele Grüsse,
Andre
D:\Ebene1\Ordner1A\Ordner1B\Dateiname1.xls
D:\Ebene1\Ordner2A\Ordner2B\Dateiname2.xls
D:\Ebene1\Ordner3A\Ordner3B\Dateiname3.xls
usw.
Ich müsste die Dateien (Dateiname1.xls etc) aus dem Verzeichnis Ordner<x>B eine Ebene höher, also in Ordner<x>A verschieben. Optimalerweise dann auch gleich das dann leere Verzeichnis Ordner<x>B löschen, aber zur Not kann das auch bleiben.
Hinterher sollte es also so aussehen:
D:\Ebene1\Ordner1A\Dateiname1.xls
D:\Ebene1\Ordner2A\Dateiname2.xls
D:\Ebene1\Ordner3A\Dateiname3.xls
usw.
Die Ordner und Dateien haben sehr unterschiedliche Namen...
[Edit: ] Leider ist beides auch schon gemischt, d.h. in manchen Verzeichnissen liegen die Dateien schon in Ordner<x>A. Ein script müsste also prüfen, ob es ggf. ein Unterverzeichnis Ordner<x>B überhaupt gibt, und nur dann die darin enthaltene Datei verschieben.
Ist sowas leicht per Windows10 Batch-Datei (oder Powershell-Kommandozeile) möglich?
Viele Grüsse,
Andre
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 633060
Url: https://administrator.de/contentid/633060
Ausgedruckt am: 14.11.2024 um 17:11 Uhr
8 Kommentare
Neuester Kommentar
ls "D:\*\*\*\*.xls" -File | group DirectoryName | %{
$_.Group | mv -Destination $_.Group.Directory.Parent.Fullname -Verbose -Force
if (!(ls $_.Name -File -Recurse)) {
rm $_.Name -Force -Recurse -Verbose
}
}
Damit gewinnst du heute definitiv den Preis für die goldene Freitagsfrage 🐟
Zitat von @146707:
Damit gewinnst du heute definitiv den Preis für die goldene Freitagsfrage 🐟
Damit gewinnst du heute definitiv den Preis für die goldene Freitagsfrage 🐟
Nanana, der Freitag ist noch lange nicht vorbei.
Da kannst du recht haben .