Sha256: 4fc880e73fe9b6375c24e593719e3b9f2ef81336068cdbe281e59a80f742a4ab

Contents?: true

Size: 1.36 KB

Versions: 9

Compression:

Stored size: 1.36 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_md5=$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)
    }
    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

9 entries across 9 versions & 2 rubygems

Version Path
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
vagrant-unbundled-2.0.2.0 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
vagrant-unbundled-2.0.1.0 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
vagrant-unbundled-2.0.0.1 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
vagrant-unbundled-1.9.8.1 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
vagrant-unbundled-1.9.7.1 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
vagrant-unbundled-1.9.5.1 vendor/bundle/ruby/2.4.0/gems/winrm-fs-1.0.1/lib/winrm-fs/scripts/extract_files.ps1.erb
winrm-fs-1.0.1 lib/winrm-fs/scripts/extract_files.ps1.erb
winrm-fs-1.0.0 lib/winrm-fs/scripts/extract_files.ps1.erb