1

Windows 7 / 8 にすべてのユーザー用の変数はありますか? たとえば、PC のすべてのユーザーのデスクトップに特定のフォルダーがあり、コマンド プロンプトから実行できるコマンドを使用して、これらのフォルダーをすべて一度に削除したいとします。これは可能ですか?

スクリプトは、VPN クライアントの設定ファイルを各ユーザーのローカル AppData に配置しました。これにより、VPN クライアントは、クライアントの起動時に自動的にアドレスを入力します。問題は、この住所が古くなっていて、新しい住所を使用していることです。そこで、すべてのユーザーのこれらのすべての Preferences.xml ファイルを削除するコマンドを実行する方法を見つけたいと思います。

グーグルで試してみましたが、すべてのユーザーに変数があるとは思いません。でも、念のためにここで聞いてみようと思いました。「del C:\users\%ALLUSERS%\AppData\Local\example\preferences.xml」の行に沿って何かが機能することを望んでいましたが、グーグルで検索すると表示され、そのようなことはありません。

4

1 に答える 1

3

powershell を使用して、userprofile temp-directory の下にあるすべてのアイテムを削除できます。以下の解決策を参照し、実行されるアクションに満足している場合は Whatif オプションを削除してください。

$users = Get-ChildItem c:\users | ?{ $_.PSIsContainer }
foreach ($user in $users){
    $userpath = "C:\Users\$user\AppData\Local\Temp"
    Try{
        Remove-Item $userpath\* -Recurse -Whatif -ErrorVariable errs -ErrorAction SilentlyContinue  
    } 
    catch {
        "$errs" | Out-File c:\temp\errors.txt -append
    }
}

MS-DOS ソリューションの場合は、コマンド プロンプトでこれを試してください。

for /f "delims=|" %f in ('dir /B /A:D-H-R c:\users') do echo "C:\Users\%f\AppData\Local\Temp\*"

これらのファイルとディレクトリを実際に削除するバッチファイルでは、次のようになります。

for /f "delims=|" %%f in ('dir /B /A:D-H-R c:\users') do (rmdir "C:\Users\%%f\AppData\Local\Temp\" /s/q || del "C:\Users\%%f\AppData\Local\Temp\*" /s/q)
if not errorlevel 1 (
    echo "Finished with errors"
  ) else (
    echo "Finished without errors"
  )
)
于 2014-08-26T07:53:44.097 に答える