PowerShellは非常に新しいものです。 PowerShellでフォルダ内のテスト結果ファイルのセットを削除しようとしています。 PowerShellコンソールを使用してコードを実行すると、動作します。同じコードはISEでは動作しません。PowerShellスクリプトはPowerShell Consoleでのみ動作し、ISEでは動作しません
Set-Location -Path "Path";
$testResultsFolder = Get-ChildItem -Include *TestResults -Recurse | ?{ $_.PSIsContainer } | Select-Object FullName;
$date = Get-Date;
$limit = 30;
foreach($testResult in $testResultsFolder)
{
$resultsPath = Get-Item $testResult.FullName;
Get-ChildItem -Path $resultsPath -Recurse -Force | Where-Object { -not $_.PSIsContainer -and $date.Subtract($_.LastWriteTime).Days -gt $limit } | Remove-Item -Force;
}
これは、ISEからPowerShellコンソールから正常に動作しなく: は、以下のコードです。 ISEはエラーを表示しません。それは '完了'と言います。誰かが私が間違っていることにいくつかの光を投げることができますか?
1. ISEを閉じてもう一度開きます。 2.コードを '.ps1'スクリプトファイルに入れます。 3. ISEのPowerShellプロンプトで名前を入力し、Enterキーを押して、ISEでスクリプトファイルを実行します。同じように動作することに注意してください。 –
スクリプトとして実行していない場合は、変数によってISEでセッションが汚染されています。 – TheIncorrigible1
@Bill_Stewart私はあなたの提案を試みたが、うまくいくが、ファイルは削除されない。しかし、私はコンソールで同じコードを使用して実行すると、ファイルを適切に削除しました。 –