2016-04-15 12 views
2

PowerChellスクリプトを実行しようとすると、TeamCityから次のエラーが表示されます。以下はpowershellコピーアイテムパスの不正な文字

Illegal characters in path. 
    + CategoryInfo   : NotSpecified: (:) [Copy-Item], ArgumentException 
    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Co 
    mmands.CopyItemCommand 

私が呼んでいる私のスクリプトブロック...

$xcopyFolderBlock = 
{ 
$destFolder = ($args[0] | out-string) 
$sourceFolder = $args[1] 

# See what value was passed in to the script block 
write-host "destFolder inside xcopyFolder code block: " $destFolder 
write-host "sourceFolder inside xcopyFolder code block: " $sourceFolder 

Copy-Item $sourceFolder $destFolder -force -recurse -verbose 
} 

これは私がそれを呼んでいる方法ですが...

Invoke-Command -ComputerName $web1Name -ScriptBlock $xcopyFolderBlock -ArgumentList(, $web1FolderServices, $nasFolderServices) 

MYチームシティー・ログには、これらの値を示していますスクリプトブロックの書き込みホスト呼び出しから...

destFolder inside xcopyFolder code block: \\\s1-bridge-web1\BridgeWebServices\Prod\MileageCalculator\v1.1.31\Services 

sourceFolder inside xcopyFolder code block: \\\s1-nas-1\software_dev\build\Prod\build_user\MileageCalculator\Services\\* 

答えて

0

さて、私はそれを理解した。問題はここでは、引数リストにあなたの昏睡状態にある:あなたはこのようにそれを行うならば、それは動作しますので

($args[0] | out-string) 

-ArgumentList(, $web1FolderServices, $nasFolderServices) 

それのためにあなたはこれをしなければならなかった

Invoke-Command -ComputerName $web1Name -ScriptBlock $xcopyFolderBlock -ArgumentList($web1FolderServices, $nasFolderServices) 

そして、この:

$xcopyFolderBlock = 
{ 
$destFolder = $args[0] 
$sourceFolder = $args[1] 

# See what value was passed in to the script block 
write-host "destFolder inside xcopyFolder code block: " $destFolder 
write-host "sourceFolder inside xcopyFolder code block: " $sourceFolder 

Copy-Item $sourceFolder $destFolder -force -recurse -verbose 
} 
+0

はい!これによりエラーは解消されましたが、ファイルはソースからコピー先にコピーされません。ログにエラーはありません。ご協力いただきありがとうございます。 – mlibner

+0

フォルダに何かがあるかどうかを調べるには 'Get-ChildItem $ sourceFolder'を実行します –

+0

TeamCityから次のエラーが表示されます...アクセスが拒否されました [10:34:56] [10/16] + CategoryInfo:PermissionDenied: [ステップ10/16] ces \:String)[Get-ChildItem]、UnauthorizedAccessException [10:34:56] [手順10/16] + FullyQualifiedErrorId:ItemExistsUnauthorizedAccessError、Microsoft.Powe [10:34:56] [手順10/16] rShell.Commands.GetChildItemCommand – mlibner

関連する問題