자신이 실수로 폴더를 삭제하지 못하게하려면 어떻게해야합니까?


41

데스크탑에 매우 중요한 폴더가 있습니다. 가끔 데스크탑을 정리하고 언급 한 폴더를 실수로 삭제할 수 있다는 점이 매우 우려됩니다. 폴더 내용에 대한 빈번한 읽기 / 쓰기 작업을 제한하지 않고 이러한 재난을 방지 할 수있는 방법이 있습니까? 참고 가끔 폴더 내의 내용을 하나씩 삭제하는 것은 중요하지 않지만 폴더 자체는 중요합니다. 삭제되면 많은 노력을 잃게됩니다.


69
데스크톱은 중요한 데이터를 저장하고 다른 곳에 저장 한 다음 데스크톱에서 바로 가기를 만드는 최악의 장소입니다.
Moab

2
일반적인 관행, 바로 가기는 폴더로 연결되며 모든 것이 작동합니다.
Moab

3
아마도 @JasonStack이지만 반드시 그런 것은 아닙니다. 폴더를 이동하고 해당 폴더가 바탕 화면에 있다고 가정하는 다른 프로그램이나 문서가있는 경우 폴더가 손상 될 수 있습니다. 예를 들어 다른 파일에 링크 된 파일이있는 경우 발생할 수 있습니다. 그것이 귀하의 콘텐츠에 적용되지 않는다면, 아마도 아무런 문제가 없을 것입니다.
바베큐

8
하지마 <hr /> 백업합니다. 항상 백업하십시오 . 외부 미디어 항상 외부 미디어에 백업하십시오. 또한 Windows의 파일 히스토리 / 이전 버전 기능을 확인해야합니다. 꽤 편리합니다.
forloop

1
"이제 해당 폴더를 다른 곳으로 옮기고 데스크탑에서 동일한 이름의 바로 가기를 만들면 폴더에 따라 모든 것이 계속 정상적으로 작동합니까?"@JasonStack 아래의 업데이트 된 답변에서 답변했습니다. 나는 Junctions가 어떤 영향을 미치지 않고 다른 물리적 볼륨으로 물건을 옮길 수있는 명확한 이유로 소개되었다고 지적하고 싶습니다.
JDługosz

답변:


112

피할 수없는 것을 피하려고하지 마십시오. 백업 및 버전 관리를 사용하십시오.

그래도 삭제 권한을 거부 할 수 있습니다. 해당 디렉토리 내에서 파일과 폴더를 삭제하는 것은 필요할 때 비활성화 할 수있는 별도의 권한입니다.


26
백업 + 버전 관리 조언에 대한 좋은 소리.
bertieb

6
@bertieb 그것은 중요하다. OP는 작업을 잃기 위해 실수로 폴더를 삭제할 필요가 없으며 드라이브는 내일 죽을 수 있습니다.
CodeCaster

11
동의했다. 백업없이 실행하는 것은 미래가 아닌 시점에 데이터 손실로 인한 것입니다. 이제 백업을 다시 확인하기 위해
scurries

7
IT 전문가는 모든 중요한 파일, 특히 클라이언트 또는 비즈니스를위한 모든 파일에 백업 및 버전 제어를 사용하십시오. 제발 제발 제발.
corsiKa

8
이런 일이 일어날 확률은 무엇입니까? 예쁘고 어둡습니다. 작년 말에 제가 되돌릴 수없는 중요한 것들로 가득 찬 폴더를 실수로 삭제했습니다. 주요 모닝콜, 이제 GitHub에서 작업을 철저히 백업하고 BitBucket에 미러링하고 휴대용 하드 드라이브에도 미러링했습니다. SURVIVOR, KIDS에서 가져 오십시오. 이 사람들에게 귀를 기울이고, 스터프를 백업하십시오. 심각합니다.

51

문제에 대한 더 나은 해결책이 있습니다. 폴더를보다 적절한 위치로 이동하십시오 (예 : % USERPROFILE % \ Documents)

바탕 화면에서 폴더에 액세스 할 수 있어야하는 경우 언제든지 바로 가기를 만들 수 있습니다. 이렇게하면 실수로 바로 가기를 삭제할 수 있지만 실제로 폴더 나 중요한 내용은 절대 삭제하지 않습니다.

다른 응용 프로그램이 데스크탑에있는이 폴더에 의존하는 경우 "mklink"명령을 사용하여 기호 링크를 작성할 수 있습니다. 심볼릭 링크는 파일 시스템 수준에서 처리되므로 (단축키는 단순히 다른 위치를 가리키는 실제 파일 임) 경로에서 이러한 유형의 "단축키"를 사용하려는 프로그램과의 호환성 문제는 없어야합니다.


2
상황에 따라 이것이 정답입니다.
Angstrom

나는 그 아이디어를 좋아한다. 그러나 Cygwin에서 데스크톱의 언급 된 폴더에 설치되어 있는지 이해할 수 없습니다. Cygwin 설치 및 기능에 문제가 발생하지 않습니까?
codezombie

@JasonStack, Cygwin 설치를 다른 위치로 옮기면 문제가 발생할 수 있습니다.
바베큐

1
@JasonStack, Cygwin 세부 정보를 포함하도록 질문을 편집하여 가능한 답변에 영향을 줄 수 있습니다.
바베큐

1
@JasonStack Cygwin은 Unix 마운트 포인트와 같이 정션을 보이지 않게 처리해야합니다. 유닉스 프로그램은 심볼릭 링크에 대해 알고 있으며 최신 버전의 Cygwin 라이브러리는 (비스타 스타일) 심볼릭 링크를 그와 같이 취급해야하므로이를 특수한 것으로 "보아야"하는 것은 프로그램에 달려 있습니다.
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 파일 열기 대화 상자를 사용하는 프로그램은 문제없이 symlink를 탐색했습니다. 실제로 연결된 디렉토리의 이름을 확인 했으므로 열린 파일은 실제 이름입니다. 예를 들어이 Desktop\MyFolder되었다 D:\scratch\MyFolder내가 그것을 통해 탐색한다.

구식 링크 ( Junction )를 사용하여 프로그램은 정션이 경로에 여전히있는 이름을 보았습니다. 예를 들어 C:\Users\john\Desktop\MyFolder\test.txt그것이 링크라는 사실은 보이지 않습니다. 그러나 GUI 삭제 조치는 여전히이를 보이지 않는 링크가 아닌 링크로 처리 했습니다.

어느 쪽이든, 프로그램 별명을 직접 사용하면 작동합니다. 그러나 파일 이름이 때때로 다른 이름으로 표시되고 다른 이름이 혼동 될 수 있습니다.

결론

실제로 다른 곳에 폴더가있는 데스크탑에서 Junction을 사용하면 이것이 일어나고 있다는 것이 완전히 투명 해집니다. 선택적으로 DACL을 사용하여 데스크탑에서 연결 지점 파일이 실수로 삭제되는 것을 방지합니다. 최소한 필요할 때 다시 만들 수있는 스크립트가 있어야합니다.

보너스

나는 이것을 시도하지 않았지만, 당신이 접합점이나 심볼릭 링크를 재생성하기 위해 "새로운 아이템"에 뭔가를 가질 수 있을지 궁금하다. 그런 다음 지금 비어있는 바탕 화면을 마우스 오른쪽 단추로 클릭하고 새로 만들기 ...를 선택한 다음 메뉴에서 "데스크톱 정크"를 선택하십시오. 데스크탑에서 실제로 원하는 모든 것을 복원하십시오.


Windows의 Desktop Junk 또는 정션에 대해 들어 본 적이 없습니다. 내가 아는 것은 지름길 이었다 . 이것이 정션의 의미입니까? 그건 그렇고, 최근에 mklink에 대한 답변과 의견에서 발견했으며 원하는 폴더 ( Temp )를 Documents 폴더로 옮긴 다음 실행 mklink mylink %userprofile%\Documents\Temp했습니다. 그것은 효과가 있었고 디렉토리를 다루는 프로그램에는 아무런 문제가없는 것 같습니다.
codezombie

데스크탑 정크 는 내가 그의 스크립트를 위해 만든 이름입니다. 또는 메뉴 항목 대신 스크립트를 호출하기 위해 추가합니다. Desktop Junction과 정크 드로어에 실려 있습니다. 바로 가기는 다른 것입니다. 바로 가기는 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


Win 8.1과 파일 히스토리 작동 방식에 대해 말할 수는 없지만 Win 7에서 폴더를 마우스 오른쪽 버튼으로 클릭하면 "이전 버전"이 표시되어 이전 "복원 지점"에서 파일을 복구합니다. 이론 상으로는 훌륭하지만 디스크를 채우면 Windows는 이전 복원 지점과 ... poof를 버리고 더 이상 이전 버전이 없습니다. 자신보다 더 이상 OS에 의존하지 마십시오.
Ian W

이전 버전 기능은 Win 8.1에서 제거되었으며 파일 기록 기능은 대체 기능입니다.
바베큐

그러나 기능 변경을 이해하지만 디스크에 공간이 부족하여 새 파일 히스토리 항목을 만들 때 발생하는 문제에 대해서는 여전히 남아 있습니다. 그것을 테스트하고 싶습니까? 지침-자신을 믿는 것 이상으로 OS를 믿지 마십시오.
Ian W

@Ian W, 그것이 얼마나 관련이 있는지 잘 모르겠습니다. 파일 기록은 별도의 저장소 볼륨에 백업을 만듭니다. 하드 드라이브를 완전히 채우면 백업이 별도의 볼륨에 있으므로 백업을 덮어 쓸 수 없습니다.
바베큐

1

효과적인 해결책은 폴더를 데스크탑 밖으로 이동 한 다음 명령을 사용하여 NTFS 정션 을 설정하는 것 MKLINK입니다.

C : \ 사용자 \ 관리자> MKLINK

심볼릭 링크를 만듭니다.

MKLINK [[/ D] | [/ H] | [/ J]] 링크 대상
        / D 디렉토리 심볼릭 링크를 만듭니다. 기본값은 파일입니다
                심볼릭 링크.
        / H 심볼릭 링크 대신 하드 링크를 만듭니다.
        / J 디렉토리 접합을 만듭니다.
        링크는 새로운 심볼릭 링크 이름을 지정합니다.
        대상은 새 링크의 경로 (상대 또는 절대)를 지정합니다.
                을 참고하여.

따라서 귀하의 경우 명령은 다음과 같습니다.

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

D:\ImportantFolder실제 폴더는 어디에 %userprofile%\Desktop\ImportantFolder있으며 정션입니다.

노트:

  • Junction은 소스 폴더와 동일한 이름을 가질 필요는 없습니다.
  • 정션은 사본이 아니며 실제로 폴더에 액세스하는 다른 방법입니다. 일반 (* .lnk) 바로 가기의 폴더 버전과 같다고 상상해보십시오.
  • 정션은 프로그램에 완전히 투명하다는 점에서 일반 바로 가기와는 다릅니다.
  • 정션이 삭제되면 실제 폴더는 삭제되지 않습니다.
  • 그러나 모든 파일 수정은 D:\ImportantFolder작업을 수행 하는 것과 동일 합니다. 따라서 passwords.txt접합에서 파일 을 삭제하면 파일도 삭제 된 것입니다 d:/ImportantFolder.
  • 실수로 정션을 삭제하면 다시 작성하십시오.

그래픽 (더 효율적인 쉬운 ) 방법 (문맥 메뉴 확장 포함)

대신 Link Shell Extension 을 설치 한 다음 폴더를 다른 곳으로 이동하고 Pick link source...마우스 오른쪽 단추로 클릭 한 다음 바탕 화면을 마우스 오른쪽 단추로 클릭하고 drop as...->를 선택하십시오 Junction. 그리고 당신은 끝났습니다.

이것은 매우 유용한 솔루션이므로 새로운 시스템에 처음 설치하는 응용 프로그램입니다. PC의 정션 또는 하드 / 기호 링크를 관리해야하는 경우이 방법을 강력히 권장합니다.


0

하나의 드라이브에 모든 파일과 폴더를 백업 할 수 있습니다. 무료로 사용할 수 있지만 15GB로 제한됩니다. 그러나 office 365 구독이있는 경우 하나의 드라이브에 1TB storge가 포함되어 있습니다.


제안 해 주셔서 감사하지만 현재이 폴더에서 읽기 / 쓰기 작업이 많아서 클라우드 사용을 제한 할 수 있으므로 대역폭 사용이 제한되어 있습니다.
codezombie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.