mrniceg
Goto Top

Zip Entpacken Dateinamen auslesen und restlichen Dateien mit Prefix umbennen

Ich habe mehrer Zip Dateien in einem Ordner (C:\zip), die als Inhalt jeweils 2 Ordner mit Dateien haben.

Hier die Struktur der Zip Dateien

Ordner: Plot (Hier liegeben *.Tiff Dateien)

Ordner: Image (Hier liegt eine Datei mit zB. dem Namen 1234.plt)

Jetzt soll die Datei entpackt werden und der Dateiname der .plt Datei als Prefix mit einem Punkt vor die Tiff Dateien geschrieben werden.


So sollte es entpakt dann aussehen (in C:\Unzip).

Ordner: Plot (1234.abc.Tiff, 1234.def.Tiff, usw.)

Ordner: Image (1234.plt)

Kann mir hier einer ein Script basteln ? Vielen Dank

Content-Key: 617235

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

Printed on: April 24, 2024 at 04:04 o'clock

Member: rubberman
Solution rubberman Oct 30, 2020 updated at 20:08:26 (UTC)
Goto Top
PowerShell
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') | Out-Null  
$src = 'C:\zip'  
$dst = 'C:\unzip'  

gci $("$src\*.zip") -file | %{  
  $zip = [IO.Compression.ZipFile]::OpenRead($_)
  $prefix = $zip.Entries.Name | sls -pattern '^(.+)\.plt$' | %{$_.matches.groups[1].value} | select -f 1  
  $tiffs = $zip.Entries.Name | sls -pattern '^.+\.tiff$' | %{$_.matches.value}  
  $zip.Dispose()

  Expand-Archive $_ -DestinationPath $dst -Force

  $tiffs | %{ren $("$dst\Plot\$_") $("$prefix.$_")}  
}
Steffen
Member: mrniceg
mrniceg Nov 02, 2020 at 07:42:57 (UTC)
Goto Top
Vielen Dank, funktioniert !
Member: rubberman
rubberman Nov 02, 2020 at 11:53:21 (UTC)
Goto Top
Ich war etwas unsicher ob die Ordnerstruktur tatsächlich so ist. Bilddateien in Plot und .plt Datei in Image schien mir nicht sonderlich intuitiv zu sein face-wink

Steffen