명령 줄 또는 배치 파일을 사용하여 숨겨진 파일 / 폴더 이동


15

질문

누구든지 명령 줄 또는 배치 파일에서 숨김, 시스템 또는 읽기 전용 특성이 설정된 파일과 폴더를 이동하는 방법을 알고 있습니까? (아니오, 속성을 먼저 제거하는 것은 옵션이 아닙니다. 왜냐하면 이동 후 속성을 재설정하기 위해 설정되는 속성을 알 수있는 실질적인 방법이 없기 때문입니다.)


(실패) 시도

  1. 기본 move명령을 사용하면 숨김 또는 시스템 속성이 설정 되어있는 항목에는 작동하지 않으며 어떤 이유로 든 및 명령 과 같은 속성을 지정하는 스위치가 없습니다 .dirdel

  2. 쉘의 파일 작업 기능을 사용하는 유틸리티를 사용해 보았지만 start /w배치 파일이 미리 실행되는 것을 막기 위해 사용해야 하며 어떤 이유로 긴 파일 이름 지원에 대해 불평합니다.

  3. 을 사용하려고 시도 robocopy했지만 먼저 파일을 복사 한 다음 단순히 소스 를 이동 하는 대신 원본을 삭제합니다 (과도한 출력이로 리디렉션 되어도 실망스러운 지연이 발생합니다 nul).

(놀랍게도 명령 줄에서 숨겨진 파일을 이동해야 할 사람거의 없었습니다. 내가 찾은 사람 은 시도를 포기한 사람 이었습니다.)


4
\temp디렉토리를 작성하는 경우 디렉토리의 이름을 바꾸거나 %1디렉토리를 \temp? 아니면 단순화 된 사례입니까?
Ken

그것은 실제로 단순화 된 경우입니다. 단순히 이름 바꾸기가 작동하지 않습니다.
Synetech

속성 제거가 옵션이 아닌 이유는 무엇입니까? 그것이 올바른 (의도 된) 방법 일 것입니다.
Rook

> 속성 제거가 옵션이 아닌 이유는 무엇입니까? @Idigas, 정확하게 재설정 할 수 있도록 각 항목마다 어떤 속성이 설정되었는지 정확히 어떻게 알 수 있습니까? > 그렇게하는 것이 (의도 된) 올바른 방법 일 것 입니다.
Synetech

내 무지를 용서하지만 jamesewelch.com/2008/05/01/… 와 같은 것이 작동합니까?
Dr Kitty

답변:


6

GNU for Win32 유틸리티 에서 MV.EXE를 사용하여 읽기 전용의 숨겨진 파일을 성공적으로 이동할 수있었습니다 . 대상 파일은 읽기 전용의 숨겨진 속성을 유지합니다.

전체 패키지를 다운로드해야합니다.

http://gnuwin32.sourceforge.net/downlinks/coreutils-bin-zip.php


1
나쁘지 않다. 불행히도 그것은 시작하는 파일을 다룰 때 죽습니다 --. 파일 이름 대신 인수라고 생각합니다.
Synetech

2
나쁘지 않다? 그게 다야? 요청을 해결합니다. '--filename'요구 사항에 대해 아무것도 보지 못했거나 테스트했을 것입니다. 사과하지만 숨겨진 요구 사항은 스포츠가 좋지 않습니다.
RobW

예, 나쁘지 않습니다. 그것은하지 나는에 대한 질문의 기본 동작을. 유효한 Windows 파일 이름을 처리 할 수 ​​없다면 지금 유용하지 않습니까? 파일 이름을 올바르게 처리하는 것은 "숨겨진"요구 사항이 아닙니다.
Synetech

3
@Synetech, 당신은 파일 이름을 한정해야합니다 :mv .\--1.txt newdirectory
dangph

4
일반적으로 유닉스 유틸리티 --foo는 명령 행 인수를 나타내는 데 사용 됩니다. 로 시작하는 파일 이름을 지원하기 위해 --대부분의 파일 이름 --은 명령 줄 인수의 끝 과 파일 이름의 시작 을 나타내는 특수 인수 를 허용 합니다. mv이 명령 중 하나 인지 확실하지 않지만, 그렇다면 다음을 수행 할 수 있어야합니다.mv -- --weirdFileName.gotcha betterFileName.txt
Ben

5

방금 다음을 사용하여 이것을 달성했습니다.

xcopy /H hidden_file destination_file
del /AH hidden_file

1
질문은 파일 을 이동 하는 방법을 묻습니다 . OP는 복사 및 삭제 방법을 알고 있으므로 원하지 않습니다. 또한 그는 숨겨진 파일을 삭제하는 방법을 이미 알고 있다고 말합니다.
Scott

2
스캇은 맞습니다. 소스 및 대상 볼륨이 동일한 경우 파일을 먼저 복사하여 파일을 "이동"하는 것이 마지막 작업입니다. 기껏해야 하나의 작은 파일로 무의미하지만 큰 파일이나 많은 작은 파일 (많은 큰 파일은 제외)이 끔찍합니다 (높은 CPU 및 디스크로드). 전체 디렉토리 트리를 이동하면 더 나빠집니다. 파일 시스템은 이미 디렉토리 항목 포인터를 변경하여 빠르고 쉬운 이동을 지원합니다. 숨겨진 파일로 처리하지 못하게하는 OS 인터페이스에 문제가 있습니다.
Synetech

충분히 공평한 움직임이 아닙니다. 그리고 큰 움직임에는 많은 오버 헤드가 생길 수 있습니다. 그러나 OP는 실제로 복사 + 삭제가 반드시 나쁜 것이라고 말한 적이 없으며, 그럼에도 불구하고 이것은 명령 줄에서 숨겨진 파일을 이동하는 방법에 대한 웹 검색에서 가장 인기있는 것 중 하나이며 내가해야 할 일에 효과적이었습니다. . GNU 도구 또는 PowerShell을 설치하는 대신 숨겨진 파일 몇 개를 이동하는 방법을 찾는 사람들이 파일을 사용할 수 있다고 생각합니다. "move"명령이 단순히이 작업을 수행 할 수 없다는 것이 매우 귀찮습니다.

1
질문에서 :“ (실패한) 시도 … 3. 사용하려고 robocopy했지만 먼저 파일을 복사 한 다음 단순히 소스 를 이동 하는 대신 원본을 삭제합니다 (이로 인해 실망스러운 지연이 발생합니다…)”
Scott

충분합니다 ... "복사 + 삭제 작업을 원하지 않습니다."대신 "로보 스코프를 사용하고 싶지 않습니다"라고 읽은 것 같습니다. 그러나 나는 당신의 요점을 봅니다.
Ben

3

Powershell v2 :

move-item -force   '--1.txt' newdirectory

숨김 및 시스템 속성이 설정된 숨김 파일도 이동합니다. '-'로 시작하는 파일로 작업합니다.


1
나는 그것이 효과가있을 것이라고 확신하지만 PowerShell은 일반적인 명령 프롬프트와 비교할 때 엄청나게 느립니다. 그리고 그것은 “숨겨진”요구 사항 이 아니며 , 문제에서 Robocopy의 지연에 대한 나의 싫어함을 분명히 나타 냈습니다. (어떤 방식으로도 도움이되지 않기 때문에 시스템에서 빠르게 작동한다고 말하지 마십시오. 내 시스템에서는 단순히로드하는 데 몇 초가 Tab걸리고 파일 이름을 완성하기 위해을 눌러도 1 초 이상 걸립니다. 느린보다 크기의 cmd. 당신은 나에게 새로운 시스템을 구입할 의향이 아니라면 그럼, 다음 PS 도움 않을 것입니다).
Synetech

훨씬 쉬운 PowerShell 솔루션 :mv .oldfile .newfile
Jay Sullivan 21

0

이건 어때?

C:\Temp>attrib hidden.txt
A   H        C:\temp\hidden.txt

C:\Temp>mklink /H renamed.txt hidden.txt
Hardlink created for renamed.txt <<===>> hidden.txt

C:\Temp>del /AH hidden.txt

C:\Temp>attrib renamed.txt
A   H        C:\temp\renamed.txt

분명히 이것은 하드 링크가 허용되는 제약 조건 내에서만 작동합니다. 이것은 파일의 대상이 동일한 물리 디스크의 동일한 파티션에 있어야 함을 의미한다고 생각합니다. 그러나이 제약 조건이 충족되지 않으면 어쨌든 복사 + 삭제가 필요합니다.
Ben

재미있는 생각. 물론 너무 제한적입니다 (Windows 7 시스템 드라이브에는 NTFS 만 사용하고 다른 모든 것에는 FAT32 만 사용합니다. 또한 일반적으로 Windows XP를 사용합니다). 또한 다른 속성 조합과 일치하지 않는 것으로 보입니다. 예를 들어, 읽기 전용 속성을 설정하면 처음 삭제하려고 할 때 "새"파일을 삭제할 수 없으며 대신 속성이 제거됩니다. ಠ_ ఠ 물론 폴더에서는 작동하지 않습니다.
Synetech

0

PowerShell과 mv명령이 있습니다. 완성도를 들어, 따라서 여기에 그것을 할 방법은 JP 소프트웨어의 TCC / LE 그, move그리고 ren명령 모두가 /a:그 많은 명령에 공통적 인 옵션을 그 파일이 동작을위한 스캔 디렉토리 :

[C : \ Users \ JdeBP] touch / c --wibble--
2014 년 11 월 3 일 20 : 29 : 18.868 C : \ Users \ JdeBP \-wibble--

[C : \ Users \ JdeBP] 첨부 + h + s. \-wibble--
___A___________-> _HSA___________ C : \ Users \ JdeBP \-wibble--

[C : \ Users \ JdeBP] 이동 / a : hs --wibble-- --wobble--
C : \ Users \ JdeBP \-wibble---> C : \ Users \ JdeBP \-동요-
     파일 1 개 이동

[C : \ Users \ JdeBP] ren / a : hs --wobble-- --wurble--
C : \ Users \ JdeBP \-wobble---> C : \ Users \ JdeBP \-더블-
     1 개 파일 이름 변경

C : \ Users \ JdeBP] dir / a : hs / t / m / k --wurble--
2014 년 11 월 3 일 20:29 0 _HSA___________ --wurble--

[C : \ Users \ JdeBP]

추가 자료

  • JP 소프트웨어. MOVE . Command / TCC 도움말을 참조하십시오.
  • JP 소프트웨어. REN . Command / TCC 도움말을 참조하십시오.

나는 작은 무료 프로그램으로 할 수있는 일을하기 위해 상용 소프트웨어를 구매하지 않을 것이다 (그리고 평소처럼 직접 작성해야 할 수도있다). 어쨌든 폴더에 어떤 속성이 있는지 예측할 수 없으므로 좋지 않은 속성을 하드 코딩했습니다. 또한 터치하면 원래 타임 스탬프가 손실됩니다.
Synetech
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.