web-dev-qa-db-ja.com

2番目のドライブから古いウィンドウ/プログラムファイルを削除しますか?

私のPCには追加のドライブがたくさんあります。それらのほとんどには、Windowsとプログラムファイルの古いコピーが含まれています。私のPCは「PC」と呼ばれ、私の管理ユーザーは「Tim」と呼ばれます。これらの2番目のドライブの所有権をユーザー "PC\Tim"に割り当て、ユーザー "PC\Tim"にドライブのフルコントロールを与えました。次に、これらのドライブのWindowsまたはProgram Filesフォルダーを削除しようとすると、メッセージが表示されます。

「このフォルダを変更するには、PC\Timからの許可が必要です。」

これらのフォルダの現在の所有者は、「Tim(PC\Tim)」と表示されます。これらのフォルダの有効なアクセス許可には、このユーザーがすべての権利を持っていることが示されています。

もちろん、マイクロソフトコミュニティの馬鹿げた "答え"は、 "ディスククリーンアップを使用する"(露骨に教育されていない答え)や "ドライブを再フォーマットする"(フォーマットすることで、問題に対処するのではなく、問題を回避する)ようなものを提供します。

これらの古いファイルを削除する正しい手順は何ですか?

22
frumbert
  1. 管理者権限でコマンドプロンプトを開きます。
  2. 次のコマンドを一度に1つずつ実行します(削除するフォルダーを含む「Z:\ Program Files」を変更します)。

    takeown /F "Z:\Program Files" /A /R /D Y
    icacls "Z:\Program Files" /T /grant administrators:F
    rd /s /q "Z:\Program Files"
    

注1-OS言語:takeown ... /D Y入力Yは「はい」を意味し、OS言語によって異なります。 Program Filesフォルダーの名前も異なる場合があります。

注2-古いバージョンのWindows:icaclsrdがサポートされていない場合は、代わりにcaclsrmdirを使用してみてください

説明とドキュメント:

問題は、フォルダとそのコンテンツの随意アクセス制御リスト(DACL)に適切な権限がないことです。 DACLは、セキュリティ保護可能なオブジェクトへのアクセスを許可または拒否されるトラスティを識別します。そのため、単にフォルダの所有権を付与するだけでは不十分な場合がありますが、DACLでアクセス許可を付与する必要もあります。上記の例に示すように、icaclsコマンドを使用して権限を付与できます。 アクセス制御リストとDACLの説明

takeowntakeown documentation 管理者は、管理者グループを所有者にすることで、以前は拒否されていたディレクトリとそのコンテンツへのアクセスを回復します。 / F [ディレクトリ]はどのディレクトリを指定するか/ Aは管理者グループに所有権を与える、 / Rは、ディレクトリ、すべてのファイル、およびサブディレクトリに対して再帰的な操作として実行します。/ Dユーザーが以下の「フォルダのリスト」権限を持っていない場合、確認プロンプトを抑制します- [〜#〜] y [〜#〜]ディレクトリの所有権を取得するオプション。 (注:YオプションはOS言語によって異なる場合があります)。

icaclsicaclsドキュメント 管理者グループにディレクトリへのフルアクセスDACアクセス許可を付与します。 [directory]どのディレクトリを指定するか/ Tは、指定されたすべてのファイルに対して操作を実行しますディレクトリとサブディレクトリ、/ grant指定されたユーザーに完全なアクセス権を与える:Fでアクセス権を付与します。 (注:グループ名の管理者は、OSの言語によって異なる場合があります)

rdrd documentation ディレクトリとそのすべてのサブディレクトリおよびファイルを削除します。 / sは、指定されたディレクトリとそのすべてのファイルを含むサブディレクトリを削除します/ q確認のプロンプトを表示しないようにクワイエットモードを指定します[directory]削除するディレクトリを指定します。

55

私のために働いたのは、 この提案 の簡略版でした:

  1. Windowsフォルダの名前をWindows.oldに変更します
  2. [スタート]メニューからディスククリーンアップを実行する
  3. Windows.oldフォルダを含むドライブを選択します
  4. 以前の「Windowsインストール」、次に[OK]をクリックします
21
x29a

これはWindows 10スペイン語で機能しました:

set del_folder=F:\Program Files
takeown /f "%del_folder%" /r /d S
icacls "%del_folder%" /grant administradores:F /T
rmdir /s /q "%del_folder%"

takeownコマンドでは、「はい」(英語)の「Y」ではなく、スペイン語の「Sí」の末尾に「S」を使用する必要があります。

icaclsコマンドの場合、「administrators」(英語)ではなく、「administradores」(スペイン語)を使用する必要があります。

3
Juanga Covas

注:これについて考えたので、ステップ4から開始できるはずです。アクセスするには、「権限の変更」ボタンをクリックするだけです。テストしたいのですが、削除するディレクトリが足りません。

Windows 10の場合(おそらくWindows 7および8でも動作します):

  1. Folder-> properties-> security-> advancedを右クリックします。
  2. (上部にある)所有者の横にある[変更]をクリックします。ボックスにユーザー名を入力し、チェック名をクリックします。 (MACHINENAME\USERNAMEスタイルに変換する必要があります。)
  3. [OK]、[OK]、[OK]をクリックして、セキュリティオプションを終了します。

これでディレクトリを所有する必要があります。

  1. Folder-> properties-> security-> advancedを右クリックします。 (再び。)
  2. 権限リストで「ユーザー」を見つけます。それをクリックして[編集]を選択し、フルコントロールを選択します。
  3. 下部にある[すべての子のアクセス許可エントリを置き換える...]をオンにします。
  4. [OK]をクリックして、警告ボックスで[はい]を選択します。コンピュータが新しいアクセス許可を適用するのを待ちます。

これで、ファイルを削除するために必要な権限が付与されました。そうする。 (Program FilesフォルダーとWindows.oldの両方でテストされています。)

1
user3757614

プログラムファイルの名前をWindows.oldに変更し、ディスククリーンを実行してシステムファイルをクリアします。削除できないフォルダでも同じトリックが機能します。

1
Flegy

(Windowsフォルダーの場合)可能であれば、名前をwindows.oldに変更します。次に、ディスククリーンアップを開き、ドライブを選択して[OK]をクリックします。その後、[システムファイルのクリーンアップ]をクリックすると、フォルダーが削除されます

フォルダの名前を変更できない場合は、アンロックをダウンロードして開き、フォルダを選択して[名前の変更]をクリックし、名前をWindows.oldに変更して、ディスククリーンアップを実行します。 :D

0
Madhav Biju