Windowsでログオン、ログオフ時にデスクトップ、マイドキュメントなどから、データを削除するコマンドを紹介します。動作確認はWindows7、Windows Server 2012 R2で行っていますが、より新しいOS(Windows10,Windows Server 2016,2019)で動作するかどうかは別途、確認が必要です。
例えば、色んな人が使うようなキヨスク環境だと、セキュリティ的に不要なデータを残したくない場合があると思います。
そういった環境で利用すると便利ですね。
また、Windowsのコマンドとバッチを駆使する事で、対象のフォルダーからファイル、フォルダなどのデータを削除する事ができます。
まず、使用するコマンドは、「del」と「mkdir」です。del、mkdirコマンドの引数です。
ファイル (複数可) を削除します。
DEL [/P] [/F] [/S] [/Q] [/A[[:]属性]] 名前
ERASE [/P] [/F] [/S] [/Q] [/A[[:]属性]] 名前名前 ファイルまたはディレクトリ (複数可) の一覧を指定します。
複数のファイルを削除するときはワイルドカードを使用します。
ディレクトリが指定されたときはディレクトリ内のすべてのファ
イルは削除されます。/P 各ファイルを削除する前に確認のメッセージを表示します。
/F 読み取り専用ファイルを強制的に削除します。
/S 指定されたファイルをすべてのサブディレクトリから削除します。
/Q ワイルドカードを使用して一括削除するときに、確認のメッセージ
を表示しません。(QUIET モード)
/A 属性により削除するファイルを選択します。
属性 R 読み取り専用 S システム ファイル
H 隠しファイル A アーカイブ
I 非インデックス対象ファイル L 再解析ポイント
- その属性以外コマンド拡張機能を有効にすると、DEL と ERASE は次のように変更されます:
続行するには何かキーを押してください . . .
ディレクトリを削除します。
RMDIR [/S] [/Q] [ドライブ:]パス
RD [/S] [/Q] [ドライブ:]パス/S 指定されたディレクトリに加えて、そのディレクトリ内のすべての
ディレクトリとファイルを削除します。ディレクトリ ツリーを削除
するときに使用します。/Q /S を指定してディレクトリ ツリーを削除するときに、確認の
メッセージを表示しません。(QUIET モード)
実際に使用するコマンドは以下になります。
cd C:\Users\<ユーザー名>\Desktop
del *.*
for /D %f in ( * ) do rmdir /S /Q "%f"
1行目で、cdコマンドでカレントディレクトリをデスクトップへ移動します。
2行目で、dellコマンドでファイルを削除します。
3行目で、rmdirコマンドで、フォルダを削除します。「/S」オプションで 指定されたディレクトリに加えて、そのディレクトリ内のすべてのディレクトリとファイルを削除します。
これを、削除したい場所をしていすればOKです。例えば、マイドキュメントの場合は、Documentsですね。
また、バッチファイルに仕込む場合は、以下のように記述します。
cd C:\Users\<ユーザー名>\Desktop
del *.*
for /D %%f in ( * ) do rmdir /S /Q "%%f"
%が2つになるのがミソです。これをテキストなどで作成し、拡張子を[.bat]に変更します。その後、ワークグループであれば、ローカルポリシー、ドメイン環境であれば、ドメインのグループポリシーで設定すればOKです。
ローカルポリシーの起動は、コマンドプロンプトを起動して、以下のコマンドを実行します。
gpedit.msc
ちなみに、ポリシーの設定箇所は以下になります。
[ユーザの構成]>[Windowsの設定]>[スクリプト(ログオン/ログオフ)]>[ログオフ]
ここに作成したバッチファイルを指定すれば、ログオフ時にデスクトップのデータが削除されるようになりますね。
ログオン時に指定したい場合は、以下で設定します。
[ユーザの構成]>[Windowsの設定]>[スクリプト(ログオン/ログオフ)]>[ログオン]
また、Publicのアカウントに必要なショートカットを配置しておけば、各ユーザーに表示させたいショートカットを表示させることができます。
【場所】
C:\Users\Public\Desktop
この方法で、バッチが実行されても、ショートカットは削除されません。
色んな人が利用するようなパソコンで、データを都度、消去させたい場合は、参考にしてみてください。
ちなみに、漫画喫茶などは、ツールを使って初期化しているようです。Windowsだけの機能でログオフ時のデータを削除させたい場合は、参考にしてみてください。