フォルダーが自分で誤って削除されるのを防ぐにはどうすればよいですか?


41

デスクトップに非常に重要なフォルダーがあります。私は時々デスクトップをクリーンアップしますが、言及されたフォルダを不注意に削除してしまうのではないかと心配しています。フォルダーのコンテンツに対する頻繁な読み取り/書き込み操作を制限せずに、このような災害を防ぐ方法はありますか?注:フォルダー内のコンテンツを1つずつ削除してもかまいませんが、フォルダー自体は重要です。削除すると、多くの労力を失います。


69
デスクトップは、重要なデータを保存し、別の場所に保存し、デスクトップにショートカットを作成するための最悪の場所です。
モアブ

2
その一般的な慣習、ショートカットはフォルダにつながるだけで、すべてが機能します。
モアブ

3
おそらく@JasonStackですが、必ずしもそうではありません。フォルダを移動し、そのフォルダがデスクトップ上にあると想定する他のプログラムまたはドキュメントがある場合、何かが壊れる可能性があります。たとえば、他のファイルにリンクするファイルがある場合に発生する可能性があります。それがコンテンツに当てはまらない場合、おそらく問題は発生しません。
バーベキュー

8
しないでください。<hr />バックアップを作成します。常にバックアップを作成します。外部メディア上。常に外部メディアにバックアップを作成してください。また、Windowsのファイル履歴/以前のバージョンの機能を確認する必要があります。とても便利です。
forloop

1
「そのフォルダをどこかに移動し、デスクトップ上に同じ名前のショートカットを作成した場合、フォルダに依存するものはすべて正常に動作し続けますか?」何にも影響を与えずに物を別の物理ボリュームに移動できるようにするという明確な理由のために、ジャンクションが導入されたことを指摘したいと思います。
JDługosz

回答:


112

避けられないことを避けようとしないでください。バックアップとバージョン管理を使用します。

ただし、削除権限を拒否することもできます。そのディレクトリ内のファイルとフォルダーを削除することは、必要に応じて無効にすることもできる個別のアクセス許可です。


26
バックアップとバージョン管理に関するアドバイスを歓迎します。
ベルティエブ

6
@bertiebそれは重要です。OPは、作業を失うために誤ってフォルダを削除する必要はありません。ドライブは明日死ぬ可能性があります。
CodeCaster

11
同意した。バックアップなしで実行すると、将来のある時点でデータが失われます。さて、バックアップを

7
IT担当者として、すべての重要なファイル、特にクライアントやビジネス向けのバックアップとバージョン管理の両方を使用してください。お願い、お願いします。
corsiKa

8
この出来事の可能性は何ですか?PRETTY DAMN GOOD、私自身、昨年末に重要なものでいっぱいだったフォルダを誤って削除してしまいました。主要なウェイクアップコール、私は今、GitHubで作業を熱心にバックアップし、BitBucketでミラーリングし、さらにポータブルハードドライブでミラーリングしました。サバイバー、子供からそれを取り、あなたにそれをさせないでください。これらの男を聞いて、あなたのスタッフをバックアップしてください。真剣に。

51

問題に対するより良い解決策があります。フォルダをより適切な場所に移動します(例:%USERPROFILE%\ Documents)

デスクトップからフォルダにアクセスする必要がある場合は、いつでもショートカットを作成できます。これにより、誤ってショートカットを削除する可能性がありますが、フォルダーまたはその貴重なコンテンツ自体を実際に削除することはありません。

他のアプリケーションがデスクトップ上のこのフォルダーに依存している場合、「mklink」コマンドでシンボリックリンクを作成できます。シンボリックリンクはファイルシステムレベルで処理されるため(ショートカットは単に別の場所を指す実際のファイルです)、パスでこのタイプの「ショートカット」を使用しようとするプログラムとの互換性の問題はありません。


2
状況を考えると、これは正しい答えです。
オングストローム

私はそのアイデアが好きです。しかし、デスクトップ上の上記のフォルダーにインストールしたCygwinで動作するかどうかはわかりません。Cygwinのインストールと機能に問題はありませんか?
codezombie

@ JasonStack、Cygwinのインストールは、別の場所に移動すると問題が発生する可能性があります。
バーベキュー

1
@JasonStackでは、回答が影響を受ける可能性があるため、質問を編集してCygwinの詳細を含めることができます。
バーベキュー

1
@JasonStack Cygwinは、Unixマウントポイントのように、ジャンクションを見えないように処理する必要があります。Unixプログラムはシンボリックリンクを知っており、Cygwinライブラリの新しいバージョンは(Vistaスタイルの)シンボリックリンクをそのように扱う必要があるため、それらを特別なものとして「見る」かどうかはプログラム次第です。
JDługosz

7

はい、お使いのWindowsのバージョンによって制限される可能性があります(ホームバージョンでは所有権を調整できない場合があります)。また、削除権限を削除しても、フォルダーを削除できないという保証はありません。私は何度も焼かれました。

通常、誰でもできる方法を次に示します。

  1. 新しいユーザーを作成する
  2. 削除したくないフォルダーの所有権をこの新しいユーザーに割り当てます
  3. ユーザーのアクセス権を削除してフォルダーを削除し、ユーザーがフォルダーで完全な読み取り/書き込み権限を持っていることを確認します。

私はこのテクニックをWindows NTからWindows 7で使用しました。完璧になる前に、設定を少し気にする必要がある場合があります。

これを新しいフォルダーで最初にテストします(テストフォルダー内でのファイルとフォルダーの作成を含む!

また、「バックアップとバージョン管理の使用」のアドバイスにも注意してください。ファイルがそれほど重要な場合は、少なくとも2つのコピーが必要です。


Windows Home Basic 所有権調整できます。そのためのアプレットは含まれていません。サードパーティの権限ツールは引き続き機能します。また、いわゆる「神モード」PIDLにリストされている場合があります。思い出せません。彼らもスナップインを差し控えたかどうかに依存します。
JDługosz

5

Windowsファイルシステムには「読み取り専用」フラグがあります。これは、このような単純な効果のためにDACLアクセス許可を設定するよりも簡単です。

コマンドプロンプトで、ATTRコマンドを使用します。GUIシェルでは、プロパティ内にあるはずです。ただし、GUIは、あなたが本当に望んでいた以上に複雑で何かをするかもしれません。


また、同じ名前でディレクトリを再作成する場合、そのディレクトリに「以前のバージョンの復元」を適用できます。


更新

Win7システムで実験しました。(ごみ箱なし)GUIの削除は無視Rディレクトリにフラグを。私が見てきたように、それについての警告追加のプロンプトは、いずれか、存在しないH、および/またはSフラグ。rdコマンドラインから発行すると、アクセスが期待どおりに拒否されます。ただし、rd空ではないディレクトリだけを使用することはできません。ファイルの削除とディレクトリの削除は異なるコマンドです。コンテンツを含むディレクトリを再帰的に削除するコマンドは、コンテンツを削除し、空になったディレクトリの削除に失敗します。

そのため、ディレクトリ自体の保護は、念頭に置いているGUIアクションでは機能しません。そして、ディレクトリ自体が削除されるのを防ぐためのより巧妙なアプローチは、最初にディレクトリが空になるのを防ぐことはないことを意味します!あなたはまだファイルを作成および削除するためにディレクトリ内の通常のアクセスが必要だと言ったので、完全にロックダウンすることはあなたのための解決策ではありません。

最善の解決策はシンボリックリンクのようです。シンボリックリンクを作る(新しいスタイル、上記のWindows Vistaとは、今のシンボリックリンクと呼んでいるもの)、デスクトップ、ディレクトリが実際にどこかに存在する場合、上のディレクトリへの作品という意味で、私は、シフト・削除(デスクトップアイコンを削除した場合、ごみ箱はありません)リンクのみが削除されたため、実際のディレクトリは影響を受けません。

デスクトップアイコンのShift-Deleteは、R属性でマークされているかどうかを気にしませんでした。

標準のWindowsファイルを開くダイアログボックスを使用するプログラムは、問題なくシンボリックリンクをナビゲートしました。リンクされたディレクトリの名前を実際に解決したため、開かれたファイルは実際の名前でした。例えば、私がそれをナビゲートしたようにDesktop\MyFolderなりD:\scratch\MyFolderました。

古いスタイルのリンク(Junction)を使用して、プログラムはまだパスにジャンクションがある名前を見つけました。例えばC:\Users\john\Desktop\MyFolder\test.txt、リンクであるという事実は見えません。それでも、GUIの削除アクションは、それをリンクとして扱い、目に見えないように追跡しません

どちらの方法でも、プログラムエイリアス名を直接使用する場合は機能します。しかし、ある名前でファイルが表示されることもあれば、別の名前でファイルが混乱することもあります。

結論

フォルダーを実際に別の場所に配置して、デスクトップでジャンクションを使用すると、これが何が起こっているかが完全に透過的になります。オプションで、DACLを使用して、デスクトップ上のジャンクションポイントファイルが誤って削除されないようにします。少なくとも、必要なときに再作成するスクリプトを用意してください。

ボーナス

私はこれを試したことはありませんが、ジャンクションリンクまたはシンボリックリンクを再作成するために「新しいアイテム」に何かあるのではないかと思いますか?次に、空になったデスクトップを右クリックして、[新規...]を選択し、メニューから[デスクトップジャンク]を選択します。デスクトップで本当に必要だったすべてを復元します。


Desktop JunkやWindowsのジャンクションについて聞いたことがありません。私が知っていたのは近道でした。ジャンクションとはどういう意味ですか?ところで、最近mklinkに関する回答とコメントから発見し、必要なフォルダー(Temp)をDocumentsフォルダーに移動してから実行しmklink mylink %userprofile%\Documents\Tempました。それは機能し、ディレクトリを処理するプログラムには問題がないようです。
コードゾンビ

デスクトップジャンクは、私が彼のスクリプトのために作成した名前です。むしろ、スクリプトを呼び出すために彼が追加するメニュー項目について。Desktop JunctionとJunk Drawerのしゃれです。ショートカットは異なるものです。ショートカットはGUIシェルにのみ知られており、他のすべてを混乱させます。そのため、ファイルを開くダイアログを使用する場合、おそらくシンボリックリンクのように機能しますが、実際のディレクトリ名として使用することはできません。「C:\ Users \ john \ Desktop \ Shortcutname \ foo.txt」は機能しません。
JDługosz


2

あなたがすることを検討するかもしれないもう一つは、Windows 8.1のファイル履歴機能を有効にすることです。これにより、システムはファイルとフォルダーへの変更の履歴を自動的に保持できます。外部ストレージの場所で使用するのが最適ですが、ローカルドライブでも使用できます。

http://blogs.msdn.com/b/b8/archive/2012/07/10/protecting-user-files-with-file-history.aspx


Windows 8.1とファイル履歴のしくみについて話すことはできませんが、Windows 7では、フォルダーを右クリックすると「以前のバージョン」が表示され、以前の「復元ポイント」からファイルを復元できます。理論上は素晴らしいですが、ディスクがいっぱいになると、Windowsは以前の復元ポイントを破棄し、...プーフ-以前のバージョンはもうありません。あなたが自分でやる以上にOSに頼らないでください。
イアンW

以前のバージョンの機能はWin 8.1で削除され、ファイル履歴機能はその代わりになりました。
バーベキュー

機能の変更については理解していますが、新しいファイル履歴エントリを作成するためにディスクの空き容量がなくなると、何が起こるかという問題が残ります。試してみたいですか?ガイダンス-自分が信頼する以上にOSを信頼しないでください。
イアンW

@Ian W、それがどのように関連しているかわからない。ファイル履歴は、別のストレージボリュームにバックアップを作成します。ハードドライブを完全にいっぱいにしても、バックアップは別のボリュームにあるため上書きできません。
バーベキュー

1

効果的な解決策は、フォルダーをデスクトップから移動してから、コマンドを使用してNTFSジャンクションをセットアップすることMKLINKです。

C:\ Users \ Administrator> MKLINK

シンボリックリンクを作成します。

MKLINK [[/ D] | [/ H] | [/ J]]リンクターゲット
        / Dディレクトリシンボリックリンクを作成します。デフォルトはファイルです
                シンボリックリンク。
        / Hシンボリックリンクの代わりにハードリンクを作成します。
        / Jディレクトリジャンクションを作成します。
        Linkは、新しいシンボリックリンク名を指定します。
        ターゲットは、新しいリンクのパス(相対または絶対)を指定します
                を指します。

したがって、あなたの場合、コマンドは次のようになります。

MKLINK /J %userprofile%\Desktop\ImportantFolder D:\ImportantFolder

D:\ImportantFolder実際のフォルダと%userprofile%\Desktop\ImportantFolderジャンクションはどこですか。

ノート:

  • ジャンクションには、ソースフォルダーと同じ名前を付ける必要はありません。
  • ジャンクションはコピーではなく、実際にはリダイレクトであり、フォルダーにアクセスする別の方法です。通常の(* .lnk)ショートカットのフォルダーバージョンのように想像してください。
  • ジャンクションは、プログラムに対して完全に透過的であるという点で、フォルダへの通常のショートカットとは異なります。
  • ジャンクションが削除された場合、実際のフォルダーは削除されません。
  • ただし、ファイルの変更は、D:\ImportantFolder行ったり行ったりすることと同じです。したがってpasswords.txt、ジャンクション内のファイルを削除すると、そこからd:/ImportantFolderも削除されます。
  • 誤ってジャンクションを削除した場合、再度作成します。

グラフィカル(より効率的で簡単)の方法(コンテキストメニュー拡張付き)

代わりにLink Shell Extensionをインストールしてから、フォルダーを別の場所に移動し、右クリックして選択しPick link source...、デスクトップを右クリックしてdrop as...-> を選択しますJunction。これで完了です。

これは非常に便利なソリューションであるため、新しいシステムにインストールする最初のアプリケーションです。PCでジャンクションまたはハード/シンボリックリンクを管理する必要がある場合は、これを強くお勧めします。


0

すべてのファイルとフォルダーをonedriveにバックアップできます。無料で使用できますが、15GBに制限されています。ただし、Office 365サブスクリプションをお持ちの場合、onedriveに1TBのストレージがあり、含まれています。


提案に感謝しますが、このフォルダーでの読み取り/書き込み操作が激しいため、帯域幅使用量の制限のため、現在クラウドバックアップを使用できません。
コードゾンビ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.