2017-03-20 9 views
-3

下のファイルを削除するには:USERPROFILE \のAppData \マイクロソフト\ Windowsの\ WER \ ReportQueue *スクリプトは、各USERPROFILE +パスEXからファイルを削除するために実行するために、私は、スクリプトを探しています各USERPROFILE

私が試したが

Remove-Item "C:\users + \AppData\Local\Microsoft\Windows\WER\ReportQueue\AppCrash*" 

いいえ

はまた、VBScriptを試してみました:Users \ユーザー、そしてあなたは、子のパスとそのパス($_.FullName)に参加:あなたがC内のサブディレクトリを取得するために-DirectoryのparamでGet-ChildItemを使用することができます

Set fso = CreateObject("Scripting.FileSystemObject") 

strOneDrivePath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%USERPROFILE%") & "\AppData\Local\Microsoft\Windows\WER\ReportQueue\" 
Search strOneDrivePath 

Sub Search(str) 
    Set folder = fso.GetFolder(str) 
    For Each file In folder.Files 
     If file.DateLastModified < (Now() - 3) Then 
      file.Delete True 
     End If 
    Next 

    For Each subFolder In folder.SubFolders 
     Search subFolder.Path 
     If subFolder.Files.Count = 0 Then 
      subFolder.Delete True 
     End If 
    Next 
End Sub 
+0

ようこそスタックオーバーフロー!私たちは、プログラマーやプログラミング愛好家を支援するコミュニティです。それは、あなたが投稿した前にあなたがしたことや試したことを示すことが期待されています。これは私たちに何かを築くものです。現時点では、これはSOのトピックではないコードの書き込み要求のように読まれます。あなたの質問をその部分に分け、それらの問題の解決策を個別に検索してください。それでも問題が解決しない場合は、あなたの質問があなたの仕事を示すように[編集]して、あなたとコミュニティをより良く助けることができます。 – Matt

+0

あなたが試したコマンドは、文字通り 'C:\ users + \ AppData \ Local \ Mic ... 'のパスを探します。 'C:\ Users'のサブフォルダを列挙し、残りのパスをそれらのベースパスに結合する必要があります。 –

答えて

0
$paths = Get-ChildItem -Directory c:\users | Select-Object $_.Name 

ForEach ($path in $paths){ 
    If (test-path "c:\users\$path\AppData\Local\Microsoft\Windows\WER\ReportQueue\AppCrash") 
    { 
     Remove-Item -Path "c:\users\$path\AppData\Local\Microsoft\Windows\WER\ReportQueue\AppCrash\*" -Force 

    } 
} 
+0

コードを投稿するのではなく、あなたの答えを説明できますか?また、コードを書式設定してください(4つのインデントをインデントするか '{}'ボタンを使用してください)。 – Robert

0

欲しいです。

次に、Test-PathRemove-Itemを使用して、希望のファイルを削除します。

$path = "C:\Users" 
$child_path = "AppData\Local\Microsoft\Windows\WER\ReportQueue" 
$files_filter = "AppCrash*" 

Get-ChildItem $path -Directory -Exclude Default*,Public | foreach { 

    $joined_path = Join-Path -Path $_.FullName -ChildPath $child_path 
    If (test-path $joined_path) { 
     Remove-Item "$joined_path\$files_filter" -Force 
    } 
} 
関連する問題