2010-06-17 4 views
0

Je rencontre un problème que je n'arrive pas à contourner en utilisant la cmdlet Read-Archive disponible via PowerShell Community Extensions (v2.0.3782.38614)).PowerShell PSCX Read-Archive: Impossible de lier le paramètre ... problème

Voici un échantillon de réduire utilisé pour exposer le problème que je suis en cours d'exécution dans:

$mainPath = "p:\temp" 
$dest = Join-Path $mainPath "ps\CenCodes.zip" 
Read-Archive -Path $dest -Format zip 

Exécution du produit ci-dessus l'erreur suivante:

Read-Archive : Cannot bind parameter 'Path'. Cannot convert the "p:\temp\ps\CenCodes.zip" value of type "System.String" to type "Pscx.IO.PscxPathInfo". 
At line:3 char:19 
+ Read-Archive -Path <<<< $dest -Format zip 
    + CategoryInfo   : InvalidArgument: (:) [Read-Archive], ParameterBindingException 
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Pscx.Commands.IO.Compression.ReadArchiveCommand 

Si je ne me Join Chemin pour construire le chemin passé à Read-Archive, il fonctionne, comme dans cet exemple:

$mainPath = "p:\temp" 
$path = $mainPath + "\ps\CenCodes.zip" 
Read-Archive -Path $path -Format zip 

Sortie de ci-dessus:

ZIP Folder: CenCodes.zip#\ 

Index   LastWriteTime   Size Ratio Name                      -----   -------------   ---- ----- ---- 
0   6/17/2010 2:03 AM  3009106 24.53 % CenCodes.xls 

Encore plus déroutant est si je compare les deux variables passées comme argument de chemin dans les deux échantillons en lecture d'archives ci-dessus, ils semblent identiques:

... Ce

Write-Host "dest=$dest" 
Write-Host "path=$path" 
Write-Host ("path -eq dest is " + ($dest -eq $path).ToString()) 

Sorties ...

dest=p:\temp\ps\CenCodes.zip 
path=p:\temp\ps\CenCodes.zip 
path -eq dest is True 

quelqu'un a des idées pour expliquer pourquoi les premiers échantillons, mais les saisines s econd on fonctionne bien?

Répondre

1

J'ai créé un élément dans le programme de suivi des problèmes de la maison CodePlex de PSCX. Apparemment, c'est un problème connu avec PscxPathInfo. (Voir item #28023 dans le PSCX Issue Tracker).

Un travail est autour de le faire:

Get-Item $dest | Read-Archive 

Crédit r_keith_hill sur CodePlex pour ce travail particulier autour.

Questions connexes