0

以下のスクリプトのどこが間違っていますか...ファイルがゼロ(0)バイトであるかどうかをチェックし、そうである場合はフォルダーに移動します。

IFステートメントの外では正常に動作しますが、以下で試してみると、ファイルのコピーに失敗し、以下のエラーが表示されます。

Move-Item:引数がnullであるため、パラメーター'Path'に引数をバインドできません。C:\ Tools \ jon \ tests_scheduled.ps1:109 char:11 + Move-Item <<<< $ moveing "$ scheduledpath \ Move_empty" + CategoryInfo:InvalidData:(:) [Move-Item]、ParameterBindingValidationException + FullyQualifiedErrorId: ParameterArgumentValidationErrorNullNotAllowed、Microsoft.PowerShell.Commands.MoveItemCommand

filter gettheheckout([string]$path = '.')
    {
        $move = Get-ChildItem $scheduledpath | Where-Object {$_.length -eq 0} | Foreach-Object {$_.fullName}
    }


$moving = gettheheckout
$check = @(Get-ChildItem $scheduledpath | Where-Object {$_.length -eq 0})

if ($check.length -eq 0)
{ 
    Write-host = "No files to move - Script Completed" -ForegroundColor Cyan    
} 
else 
{
    Move-Item $moving "$scheduledpath\Move_empty"

    Write-Host "Script Completed - Use Excel to Filter on commas - Have a nice day!" -ForegroundColor Cyan
  }
4

1 に答える 1

1

これを変える:

filter gettheheckout([string]$path = '.')
    {
       Get-ChildItem $scheduledpath | Where-Object {$_.length -eq 0} | Foreach-Object {$_.fullName}
    }

必ず$scheduledpathグローバルスコープ変数であり、値を持っていることを確認してください。

于 2012-10-30T14:44:18.490 に答える