Windows 10 で再起動時に特定のファイルを削除するように指示する最も便利な方法を探していました。右クリックのコンテキスト メニュー オプションを使用するのが最も効率的な解決策のようです。このようなオプションを提供する次のレジストリ エントリを見つけましたが、Windows 10 x64 では、適用したファイルは実際には削除されません。
[HKEY_CLASSES_ROOT\*\shell\Delete on reboot\command]
@="CMD /E:OFF /C REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\Currentversion\\RunOnce /v \"Del %1 OnNextReboot\" /d ^\"cmd.exe /c DEL /F /Q \\\"%1\\\"\" /f\""
[HKEY_CLASSES_ROOT\*\shell\Open]
[HKEY_CLASSES_ROOT\Folder\shell\Delete on reboot\command]
@="CMD /E:OFF /C REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\Currentversion\\RunOnce /v \"Del %1 OnNextReboot\" /d ^\"cmd.exe /c RD /S /Q \\\"%1\\\"\" /f\""
どうやらこのレジストリ コードは長い間インターネット上に出回っていたようですが、私が見つけた最新の情報は、Windows 7 では機能したという人の話でした。これを Windows 10 で機能するように変更する方法はありますか?
ありがとう。
答え1
SysInternals をダウンロード移動ファイル.exeC:\Windows
フォルダに配置します。
Movefile.exe を右クリックし、[プロパティ] をクリックします。[互換性] タブを選択し、[すべてのユーザーの設定を変更] をクリックします。[管理者としてこのプログラムを実行する] を有効にし、[OK]、[OK] をクリックします。
次に、以下のように .REG ファイルを作成します。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\deleteonreboot]
@="Delete File on Reboot"
[HKEY_CLASSES_ROOT\*\shell\deleteonreboot\command]
@="\"C:\\Windows\\movefile.exe\" \"%1\" \"\""
設定を適用するには、REG ファイルをダブルクリックします。
これにより、右クリック メニューに「再起動時に削除」オプションが追加されます。
答え2
私の解決策は w32sh の助けによって可能になりました。この回答で共有する解決策は、まず彼の指示に従った後のものです。
結局、ここで私が行ったのは、ファイルの所有権を取得するためのコマンドと、そのファイルに対して movefile.exe を使用するコマンドを組み合わせることでした。
私は次の内容のバッチ ファイル (「movefile_custom.bat」という名前) を作成しました。
takeown /f %1 /r /d y && icacls %1 /grant administrators:F /t
takeown /f %1 && icacls %1 /grant administrators:F
"C:\Windows\movefile.exe" %1 ""
(注: 右クリックのエントリはファイルに対してのみ機能するため、ディレクトリを処理する最初の行はおそらく不要ですが、とりあえず残しておきます。何も問題はありません)
その後ダウンロードしましたBAT から EXE へのコンバーターそして、それを使って (ご想像のとおり) 「movefile_custom.bat」を「movefile_custom.exe」に変換しました。コンバータには、EXE の管理者オプションがあります。
レジストリ エントリを編集して、ベースの「movefile.exe」ではなく、新しい「movefile_custom.exe」ファイルを指すようにしました。
今は問題なく動作しています。
答え3
このページでは、グループ ポリシーを使用して、シャットダウン/再起動またはログオフ時にカスタム スクリプトを実行する方法について説明します。https://technet.microsoft.com/ja-jp/library/cc753404(v=ws.11).aspx より
以前、以前のバージョンの Windows でこれを使用したことがありますが、ページには Windows 7/2012 までしか対応していないと記載されていますが、同様のポリシーが 10 でも機能することはわかっています。おそらく、これも機能するでしょう。
シャットダウン/再起動時にスクリプトを実行するように設定できるサードパーティのサービスもあります - SRVSTART (http://www.rozanski.org.uk/services) ですが、その文脈ではあまり単純ではなく、それが主な目的でもありません。