
외부 USB 저장 장치(NTFS)에 대한 보고서를 생성/제공하는 캡슐화된 Windows 10 키오스크 시스템이 있습니다. 불행하게도 이 시스템은 상당히 잘 묶여 있기 때문에 제가 말할 수 있는 것이 많지 않습니다.
복사/백업을 위해 해당 USB 저장 장치를 다른 Windows 시스템(Windows 10 Pro 19044.1387)에 배치하면 몇 가지 문제가 발생합니다.
보고서 하위 폴더(이미지) 중 하나에는 모든 사진 파일이 저장됩니다. 이 폴더를 새 위치(아무 것도 존재하지 않는 위치)에 복사하려고 하면 Windows에서 기존 파일 덮어쓰기와 관련해 수행할 작업을 선택하라는 메시지가 표시됩니다. 아무것도 없어야합니다!
소스 폴더를 살펴보면 실제로 동일한 이름을 가진 파일이 몇 개 있다는 것을 알 수 있습니다. 예를 들어 여러 "Image-1.jpg" 파일이 있습니다. 이 파일의 내용은 모두 시각적으로 다릅니다. 이러한 파일에는 개수를 나타내는 대괄호 "()"가 없습니다.
원래는 복사본이 벗겨져 복제가 발생했을 가능성이 있는 숨겨진 제어 문자를 의심했지만 그러한 문자를 식별할 수 없었습니다. 그렇지 않다고는 말할 수 없지만, 쉽게 식별할 수 없었을 뿐입니다.
그러나 지금은 보고서 전체를 복사할 수 없습니다.
이 보고서를 복사/백업하고 동일한 이름의 중복 파일을 유지 관리하기 위해 나에게 남은 옵션은 무엇입니까? Windows에서 동일한 폴더에 동일한 이름을 가진 다른 파일을 만들도록 강제할 수 있나요?
업데이트:
숨겨진 캐릭터를 찾았습니다. 선행하는 " "(공백)으로 밝혀졌습니다. 한 파일은 "Image-1.jpg"이고 다른 파일은 "Image-1.jpg"입니다. Windows 복사본은 선행 공백을 제거하고 존재하지 않는 이름에서 충돌을 발생시켜야 합니다. (파일 이름을 공백으로 시작할 수 있다고 가정)
방금 Windows에서 txt 파일을 만들려고 했는데 앞에 공백이 있는 파일을 만들 수 없지만 cmd/dos 프롬프트에서는 가능합니다. $ echo abc >" my file.txt"는 파일 탐색기에서 볼 수 있는 공백이 있는 파일을 생성합니다.
Windows 파일 탐색기에서는 파일 이름이 동일하다고 주장하므로 이름을 바꾸거나 선행 공백을 제거할 수 없습니다. 새 이름을 완전히 지정한 다음 선행 공백을 뺀 원래 이름으로 다시 변경해야 합니다.
따라서 Windows 복사본이 숨겨진 문자를 제거하고 있다는 추측이 정확합니다. 파일 이름 앞에 공백이 있으면 공백이 없는 동일한 파일 이름과 일치하므로 해당 폴더를 복사할 때 둘 다 한 폴더에 있으면 서로 충돌하게 됩니다.
이 문제를 테스트하려면 다음 dos 명령을 사용하십시오.
$ mkdir "test"
$ cd test
$ echo "abc" >"file1.txt"
$ echo "def" >" file1.txt"
그런 다음 파일 탐색기를 사용하여 테스트 폴더를 복사하면 파일 중 하나의 이름이 바뀌는 것을 볼 수 있습니다. 그러나 "- Copy"와 다른 충돌이 없는 경우에만 파일 이름이 자동으로 변경됩니다. 충돌이 발생하면 무엇을 해야 할지 묻는 메시지가 표시됩니다.
답변1
파일 탐색기 버그가 발생한 것 같습니다. 그러나 PowerShell 7.x 및 Windows PowerShell에는 이 버그가 없는 것 같습니다.
1.jpg
내 데스크탑에 " " 및 " " 라는 두 개의 파일이 포함된 "Test" 폴더를 만들었습니다 1.jpg
. 그런 다음 다음 명령을 사용하여 "Test"의 내용을 "Test2"에 복사했습니다.
Set-Location '~\Desktop'
Copy-Item 'Test\*' 'Test2'