WindowsXP上でインストールしたcygwinを消そうとc:¥cygwinをエクスプローラからゴミ箱に移動しても「できません」、コマンドプロンプトから DEL c:¥cygwin と入力しても「アクセスが拒否されました」と出て消せない。Administrator権限でやってもダメ、[F8]を押して再起動しコマンドプロンプトのみの状態で操作してもダメ。なぜ?
原因らしきものがわかった。このパソコンは母が使うようにとアカウントを作っており、cygwinをインストールしたのはそのアカウント。現在は自分のアカウントを作って母のアカウントは消去した。このため、所有者のいないファイルが出来てしまったようだ。
色々調べたらアクセス制御リストを操作するSetACL: Windows ACL managementというので変更するらしい。やり方は“アクセスが拒否されました。”を解除 - Cox Caféに詳しい。
以下、操作メモ。SetACL.exeは準備しているものとする。ユーザ名はtakesita、消したいディレクトリはc:¥cygwinとする。
setacl -on "C:¥cygwin" -ot file -rec cont_obj -actn setowner -ownr "n:takesita"
完了するまで待って、以下のコマンドを実行。caclsは内部コマンドである。
cacls "C:¥cygwin" /t /g takesita:f
cygwinは細かいファイルが多いのでこれもしばらく待たされるが、完了したら
del c:¥cygwin
で無事消去できた。cacls /?と入力すれば詳しいヘルプが表示される。WindowsXPでもWindows7でも実行できた。ただしWindows7ではcaclsは非推奨で、icaclsを使え、と表示された。
Cox Caféに感謝。
原因らしきものがわかった。このパソコンは母が使うようにとアカウントを作っており、cygwinをインストールしたのはそのアカウント。現在は自分のアカウントを作って母のアカウントは消去した。このため、所有者のいないファイルが出来てしまったようだ。
色々調べたらアクセス制御リストを操作するSetACL: Windows ACL managementというので変更するらしい。やり方は“アクセスが拒否されました。”を解除 - Cox Caféに詳しい。
以下、操作メモ。SetACL.exeは準備しているものとする。ユーザ名はtakesita、消したいディレクトリはc:¥cygwinとする。
setacl -on "C:¥cygwin" -ot file -rec cont_obj -actn setowner -ownr "n:takesita"
完了するまで待って、以下のコマンドを実行。caclsは内部コマンドである。
cacls "C:¥cygwin" /t /g takesita:f
cygwinは細かいファイルが多いのでこれもしばらく待たされるが、完了したら
del c:¥cygwin
で無事消去できた。cacls /?と入力すれば詳しいヘルプが表示される。WindowsXPでもWindows7でも実行できた。ただしWindows7ではcaclsは非推奨で、icaclsを使え、と表示された。
Cox Caféに感謝。