同じような書式の文書を新たに作るとき、あるいはマスターファイルを残しつつちょっとだけ差分の編集がしたいとき、元ファイルから作ったコピーを編集することがあります。しかし、Windowsにはこのコピーに対して行った作業をすべてぶち壊す「コピーを元に戻す」が簡単にクリックできてしまう欠点があり、ソフトウェアエンジニアのMihai Ciuraruさんが対策を公開しています。

How to lose your work using Undo Copy in Windows - mihai.fm

https://mihai.fm/how-to-lose-your-work-using-undo-copy-in-windows/



問題が発生するのは以下のような例です。まず、あるフォルダーにあるファイルをデスクトップを含む別のフォルダーにコピーします。今回は「マスターファイル」フォルダー内の「マスター文書」をデスクトップにコピーしました。



コピーしたファイルを編集します。



ここで、「元に戻す - コピー」を実行します。



すると、「デスクトップへのコピー」作業を「元に戻す」ことになるので、デスクトップにコピーしたはずの「マスター文書」ファイルが消えました。当然、元のフォルダーにあるのは無編集のファイルなので、編集した内容はどこか虚空に消え去ったことになります。



なんとかしようとあがくと、「コピーのやり直し」が見つかります。



実行すると、デスクトップにファイルが復活しました。



しかし、「やり直し」は「『元に戻す』をなかったことにする」のではなく、「本来の動作をやり直す」ので、元のファイルのコピーが再実行されます。このため、復活したファイルの中身は無編集状態。消えてしまった内容を取り戻すことはできませんでした。



Ciuraruさんは、ファイル復元ソフトを用いても消えたファイルをうまく取り戻せなかったため、この「元に戻す」を無効にする方法を示しています。

まずはWindows+Rで起動する「ファイル名を指定して実行」に「regedit」と入れてOKを押し、レジストリエディタを起動。



「HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced」に移動して、右クリックメニューから「DWORD値(32ビット)」を新規作成。



中身は「0」のはずなので、名前を「MaxUndoItems」にします。



あとはPCを再起動するかいったんログオフして再ログインすれば、「元に戻す」がなくなり、ショートカットの「Ctrl+Z」も効かなくなります。なお、「元に戻す」の無効化はエクスプローラーのみが対象で、他のエディタなどは対象外です。



なお、「元に戻す」機能自体は他の場面では役立つことがあるので、「一度は消したけれどやはり必要」という人は、今回の手順で作成した「MaxUndoItems」をレジストリから削除してください。