wipiece
Goto Top

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

Content-Key: 534549

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

Printed on: April 26, 2024 at 15:04 o'clock

Mitglied: 142232
142232 Jan 12, 2020 at 18:23:05 (UTC)
Goto Top
gci 'd:\Hauptordner' -Directory | %{  
    md "$($_.FullName)\$($_.Name)" -Force | out-null  
    gci $_.Fullname -File -Force | move-item -destination "$($_.FullName)\$($_.Name)" -Force  
}
Member: Wipiece
Wipiece Jan 14, 2020 at 15:47:32 (UTC)
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
Mitglied: 142232
142232 Jan 14, 2020 updated at 16:02:15 (UTC)
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.