wipiece

Powershell Script zum Ordner erstellen und Dateien verschieben

Hallo, ich bin absoluter Powershell Anfänger und versuche nun ein Problem zu lösen. Folgendes Szenario habe ich:

--> Hauptordner
-> Ordner 1 (mit Dateien)
-> Ordner 2 (mit Dateien)
-> usw.

Nun soll ein Powershell Script in jedem Ordner einen Unterordner erstellen mit dem Namen vom übergeordneten Ordner und die Dateien aus dem Ordner dahin verschieben.

Also sollte das dann so aussehen:

--> Hauptordner
-> Ordner 1 -> Ordner 1 (mit Dateien)
-> Ordner 2 -> Ordner 2 (mit Dateien).

Die Ordnernamen lauten natürlich nicht Ordner 1 und Ordner 2 sondern sind jedes mal anders.

Wenn mir da einer ein Beispielscript zeigen könnte wäre ich sehr dankbar.

MfG
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 534549

Url: https://administrator.de/forum/powershell-script-zum-ordner-erstellen-und-dateien-verschieben-534549.html

Ausgedruckt am: 01.05.2025 um 15:05 Uhr

142232
142232 12.01.2020 um 19:23:05 Uhr
Goto Top
gci 'd:\Hauptordner' -Directory | %{  
    md "$($_.FullName)\$($_.Name)" -Force | out-null  
    gci $_.Fullname -File -Force | move-item -destination "$($_.FullName)\$($_.Name)" -Force  
}
Wipiece
Wipiece 14.01.2020 um 16:47:32 Uhr
Goto Top
Hallo,

vielen Dank für den Code. Nun hat alles wunderbar geklappt. Eine Frage habe ich aber noch und zwar will ich das Powershell in der nun erstellten Ordnerstruktur

--> Hauptordner

-> Ordner 1 -> Ordner 1 (mit Dateien)

-> Ordner 2 -> Ordner 2 (mit Dateien)

nach einer Exe Datei sucht und mir die Dateigröße in MB an einer bestimmten Stelle in einem Text setzt.

Also Beispiel würde das so aussehen:

"Die Datei ist 123 MB (soll von Powershell jedesmal angepasst werden) groß".

Powershell erstellt für jeden Ordner eine Text Datei und schreibt diesen Satz rein. Das sollte dann in jedem gerade erstellten Ordner passieren.

MfG
142232
142232 14.01.2020 aktualisiert um 17:02:15 Uhr
Goto Top
Noch'n Wunsch, bisschen Schlagsahne?
gci 'd:\Hauptordner' -Directory | %{  
    md "$($_.FullName)\$($_.Name)" -Force | out-null  
    gci $_.Fullname -File -Force | move-item -destination "$($_.FullName)\$($_.Name)" -Force  
    $file = gci "$($_.FullName)\$($_.Name)" -Filter "Datei.exe" -File  
    if($file){
        "Die Datei ist $('{0:F2}' -f ($_.Length / 1MB))MB groß." | set-content "$($_.FullName)\$($_.Name)\dateigröße.txt"  
    }
}

Dann bitte noch Haken dran und feddich.

Case closed.