2017-12-01 13 views
1

私は、すべてのユーザーの移動プロファイルで30日以上経過したすべてのファイルを削除するために、powershellスクリプトを使用し始めました。

これは私が使用するスクリプトです:ここでは

$oldTime = [int]30 #30 days 
foreach ($path in Get-Content "pathList.txt") { 
    Write-Host "Trying to delete files older than $oldTime days, in the folder $path" -ForegroundColor Green 
    Get-ChildItem $path -Recurse -Verbose | WHERE {($_.CreationTime -le $(Get-Date).AddDays(-$oldTime))} | Remove-Item -Recurse -Force 
} 

は、スクリプトが$RECYCLE.BINフォルダを無視し、いくつかの理由Pathlist.txt

 
\\FS001\RDS_FolderRedirection$\*\Downloads 
\\FS001\RDS_FolderRedirection$\*\Downloads\$RECYCLE.BIN 

です..私はここで何かが足りないのですか?

+0

'-Force'のparam'は、Get-ChildItemコマンドレット$パス-Recurse -Verbose -Forceを試してみてくださいGET-ChildItemコマンドレット – guiwhatsthat

+1

のための隠されたスイッチを試してみてください'[Documentation](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem)には、その使用方法が説明されています。「コマンドレットは、隠しファイルやシステムファイルなど、ユーザーがアクセスします。 –

+0

James Cさん、ありがとう!私はすでに、Remove-Itemの-Force paramを記述していたので少し投げられました。これはうまくいった。ありがとう! – Sebastiaan

答えて

0

Get-ChildItem-Forceのparamを試してみてください、ドキュメントはそれはとして使用します説明:

は、コマンドレットは、隠されたとしてそれ以外の場合は、ユーザーがアクセスできないことができないアイテム、またはシステムファイルを取得することができます。

それはこのようにあなたのコードで使用されます:

Get-ChildItem $path -Recurse -Verbose -Force 
関連する問題