Sha256: 58e3da73fa278887e88ef6e2af2f519239608abee29ad9bf7829ce7100f9b4e7
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
trap { $e = $_.Exception $e.InvocationInfo.ScriptName do { $e.Message $e = $e.InnerException } while ($e) break } function folder($path){ $path | ? {-not (test-path $_)} | % {$null = mkdir $_} } Function Decode-Files($hash) { foreach ($key in $hash.keys) { $value = $hash[$key] $tzip, $dst = $Value["tmpzip"], $Value["dst"] if ($tzip) {Unzip-File $tzip $dst} New-Object psobject -Property @{dst=$dst;src_sha1=$key;tmpzip=$tzip} } } Function Unzip-File($src, $dst) { $unpack = $src -replace '\.zip' $dst_parent = Split-Path -Path $dst -Parent if(!(Test-Path $dst_parent)) { $dst = $dst_parent } folder $unpack, $dst try { try{ [IO.Compression.ZipFile]::ExtractToDirectory($src, $unpack) } catch { Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction Stop [IO.Compression.ZipFile]::ExtractToDirectory($src, $unpack) } } catch { Try { $s = New-Object -ComObject Shell.Application ($s.NameSpace($unpack)).CopyHere(($s.NameSpace($src)).Items(), 0x610) | Out-Null } Finally { [void][Runtime.Interopservices.Marshal]::ReleaseComObject($s) } } dir $unpack | cp -dest "$dst/" -force -recurse rm $unpack -recurse -force } $hash_file = <%= hash_file %> Decode-Files $hash_file | ConvertTo-Csv -NoTypeInformation
Version data entries
3 entries across 3 versions & 2 rubygems