2017-11-07 8 views
0

私は現在、これを使用しています:バッチスクリプト(ログオフ/シャットダウン)すべてのユーザーのためにクロームのキャッシュフォルダをクリアする

@echo off 
set ChromeDir=C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache 
del /q /s /f "%ChromeDir%" 

これは、しかし、唯一のユーザーの現在のログに記録されたため、うまく動作します。これをログオフ/シャットダウンのGPOまたはスケジュールされたタスクとして使用することを検討していますが、このフォルダをすべてのユーザーに対してクリアすることをお勧めします。

私は%username%がある場合、それは何のための変数ですか?

おかげ

トム

+0

は、Chromeのインストール方法によって異なります。 '%public%'変数があります。 – Stephan

答えて

0

あなたはキャッシュへのパスを構築するために `%USERPROFILE%変数を使用する必要があります。

@setlocal ENABLEDELAYEDEXPANSION 
@set _CachePathRelativeToUser_=AppData\Local\Google\Chrome\User Data\Default\Cache 
@set _Users_=!USERPROFILE:%USERNAME%=! 
@for /d %%d in (%_Users_%\*) do @rd /s /q "%%d\%_CachePathRelativeToUser_% 

ユーザはプロファイルデータを移動できるので、共通のルートを共有しているものだけがすべて見つかりません。ユーザープロファイルをSYSTEMDRIVE以外のドライブに移動することは一般的な方法ではありませんが、実行されます。しかし、一般的なルートの下にないユーザープロファイルデータを見つけるのは、はるかに一般的ではありません。あなたのマイレージは異なる場合があります。

+0

変数名に先頭と末尾のアンダースコアを使用したのは、スクリプト実行時のライフタイムが必要な変数の命名規則です。私がテストするときに、環境内にゴミが溜まっていないことを確認するために、アンダースコアで始まる変数を調べます。 – jwdonahue

関連する問題