win_unzip: Use absolute path for src and dest
win_unzip fails to extract files when either src or dest contains complex paths such as "..\..\" or "C:\\Program Files" (double slashes). Fix this by fetching absolute path of both before invoking CopyHere method.
This commit is contained in:
parent
10e70b5f48
commit
7f38638575
1 changed files with 2 additions and 2 deletions
|
@ -59,8 +59,8 @@ $rm = ConvertTo-Bool (Get-AnsibleParam -obj $params -name "rm" -default "false")
|
||||||
If ($ext -eq ".zip" -And $recurse -eq $false) {
|
If ($ext -eq ".zip" -And $recurse -eq $false) {
|
||||||
Try {
|
Try {
|
||||||
$shell = New-Object -ComObject Shell.Application
|
$shell = New-Object -ComObject Shell.Application
|
||||||
$zipPkg = $shell.NameSpace($src)
|
$zipPkg = $shell.NameSpace([IO.Path]::GetFullPath($src))
|
||||||
$destPath = $shell.NameSpace($dest)
|
$destPath = $shell.NameSpace([IO.Path]::GetFullPath($dest))
|
||||||
# 20 means do not display any dialog (4) and overwrite any file (16)
|
# 20 means do not display any dialog (4) and overwrite any file (16)
|
||||||
$destPath.CopyHere($zipPkg.Items(), 20)
|
$destPath.CopyHere($zipPkg.Items(), 20)
|
||||||
$result.changed = $true
|
$result.changed = $true
|
||||||
|
|
Loading…
Reference in a new issue