killtec
Goto Top

Powershell - Datei umbenennen

Hallo zusammen,
ich möchte gerne via Powershell mehrere Dateien umbenennen. Dazu muss ich die erste Zeile der Datei auslesen.
Ich dachte daran, das so zu machen, dass ich erstmal via
get-childitem | select name
die Dateien als solche einlese.
Dann wollte ich das ganze via
Get-Content | Select -first 1
erledigen, damit ich weiß, wie die Datei nun heißen soll.
Wenn ich jedoch alles verketten will, funktioniert dies nicht, da scheinbar get-content nicht als Pipe-Eingabe funktioniert.
Get-Content benötigt als Parameter den Dateinamen, den ich vorher mit get-childitem auslese.

Das ganze soll dann später so sein, dass sich das Script aus vorher definierten Ordnern die Dateien in einen gemeinsamen Ordner zieht (via Move-item) und dann die Daten umbenennt.

Bsp.:
Ordner A: Datei X, Datei Y
Ordner B: Datei z
Ordner Z: Zielordner

Move-item Ordner A nach Ordner Z
Move-item Ordner B nach Ordner Z

und dann das ganze mit dem get-childitem und dem umbenennen. Der gewünschte Dateiname steht also immer in der ersten Zeile der Datei.

Danke

Content-Key: 250451

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

Printed on: April 19, 2024 at 22:04 o'clock

Member: colinardo
colinardo Sep 29, 2014 updated at 13:39:49 (UTC)
Goto Top
Moin killtec,
ich vermute mal du meinst das so:
$files = @('C:\OrdnerA\*.txt','C:\OrdnerB\*.txt')  
$targetFolder = 'C:\Ziel'  
$files | %{ dir $_ | %{move-item -Path $_.Fullname -Destination "$targetFolder\$((gc $_.FullName) | select -First 1)"} }  
Grüße Uwe
Member: killtec
killtec Sep 29, 2014 at 13:57:06 (UTC)
Goto Top
Ja genau. An welcher Stelle kann ich noch die Dateiendung festlegen, die später vorhanden sein soll?
Hinter dem Select -First 1)" ?

Gruß
Member: colinardo
Solution colinardo Sep 29, 2014, updated at Sep 30, 2014 at 05:50:52 (UTC)
Goto Top
ja, Beispiel mit *.txt
$files | %{ dir $_ | %{move-item -Path $_.Fullname -Destination "$targetFolder\$((gc $_.FullName) | select -First 1).txt"} }
Member: killtec
killtec Sep 30, 2014 at 05:50:46 (UTC)
Goto Top
Danke dir Uwe face-smile Hast mir sehr weiter geholfen.
Spendiere dir einen Virtuellen Kaffee heut morgen face-smile