파일 이름이 너무 길고 Windows에서 파일을 열 수 없습니다


12

네트워크 드라이브, 상당히 깊은 경로에 많은 파일이 있으며 대부분의 디렉토리에는 긴 이름이 있습니다. 이 파일은 원래 누군가이 파일 그룹의 루트 디렉토리를 로컬 워크 스테이션에서 공유 네트워크 드라이브로 복사하여 붙여 넣었을 때 생성 된 것으로 생각됩니다. 로컬 워크 스테이션에서 파일을 여는 데 아무런 문제가 없었지만 이제는 네트워크에서 더 긴 경로에 있으므로 두 번 클릭하면 Windows에서 파일을 열 수 없습니다. 또한 파일을 복사하고 이름을 짧게 바꾸려고했지만 Windows에서도 그렇게 할 수 없습니다.

TL; DR

다음과 같이 (가상) 경로에있는 누군가의 워크 스테이션에서 파일 :

C:\Documents and Settings\SomeUser\Files\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^

이제 다음과 같이 네트워크에 복사하여 붙여 넣었습니다.

Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^

그리고 Windows XP가 처리하기에는 경로가 너무 깁니다.

이 파일을 읽는 방법에 대한 팁이 있습니까?



@ bZezzz : 파일 단위로 작동하는 것처럼 보이지만 한 번에 전체에 액세스 할 수있는 항목을 찾고 있습니다. 로컬 워크 스테이션으로 복사해도 문제는 없지만 긴 파일 이름 유지 해야 합니다 (파일 내용에 대한 특정 컨텍스트를 제공함). 또한 많은 사용자가 명령 줄에서 파일을 열 수있을만큼 기술적으로 충분하지 않습니다. 당신의 제안은 나와 다른 사람에게 효과적 일 수 있습니다.
FrustratedWithFormsDesigner 2016 년

답변:


7

SUBST.EXE로 경로를 바꾸어보십시오. Windows와 함께 제공됩니다.

C:\Users\shufler>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

당신이하고 싶은 일은 드라이브 문자 대신 체인 아래의 폴더 중 하나를 대체하는 것입니다.

 C:\>subst X: Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1

이제 LongSubdirectoryName1 폴더가 X : 드라이브에서 액세스됩니다. 당신이 그것으로 끝나면 당신은 당신의 대체를 삭제할 수 있습니다subst X: /D

항상 필요한 경우 로그인 스크립트에 추가하십시오.

또 다른 방법은 Q :가 매핑 된 곳에서 체인 아래로 드라이브를 매핑하는 것입니다.


2
최근 에이 문제에 직면했으며 SUBST 접근법을 사용했습니다. 이를 위해 ntwind.com/software/utilities/visual-subst.html에서 제공되는 Visual Subst 도구 가 매우 유용 하다는 것을 알았 습니다.
yosh m

6

OS가 액세스 할 수있을 정도로 이름이 짧을 때까지 경로에서 디렉토리 이름을 바꿔야합니다.

이름을 수정하고 이름을 한 글자로 바꿀 수있는 첫 번째 폴더로 이동 한 다음 필요한 파일에 도달 할 때까지 각 후속 폴더에 대해 동일한 작업을 수행합니다.

구조를 유지해야 할 필요성과 관련하여 : 운영 체제 내에서 작업해야하는 제한 사항이 있으며 이러한 매개 변수 외부에서 일상적으로 작업하는 것은 좋지 않습니다. 모든 빠른 솔루션은 이제 나중에 다시 실행할 필요가있는 패치 일뿐입니다. 진정한 해결책은이 매우 긴 폴더 경로 / 파일 이름 문제가 더 이상 필요하지 않도록 디렉토리 구조를 재구성하는 것입니다.


256 자
bZezzz

아니요, Windows 탐색기는 파일 시스템 사양을 잊어 버리고 가장 일반적인 분모를 고수하여 예를 들어 하나의 드라이브의 기존 루트를 복사하는 것이 불가능하기 때문에 Windows 탐색기가 아닌 프로그램을 사용해야합니다. PATH TOO LONG 오류가 발생하지 않고 다른 동일한 드라이브 (용량, 형식 등)의 루트에.
Triynko


0

편집 : 원래 robocopy 사용을 제안했지만 물론 이것은 XP이며 사전 설치되어 있지 않습니다.

'모든 사람이 원하는 것을 줄 수있는'방법은 없습니다. 파일 경로가 너무 길면 파일 작업을 수행 할 수 없습니다. 내가 보는 방식에는 몇 가지 옵션이 있습니다.

  1. 다른 게시물의 단계를 수행하고 디렉토리가 짧을 때까지 디렉토리 이름을 바꿉니다. 컴퓨터의 좋은 점은 스크립트를 작성하여이를 수행 할뿐만 아니라 원래 이름을 추적 할 수 있다는 것입니다. 스크립트를 사용하더라도 다소 시간이 오래 걸립니다.

  2. Linux LiveCD를 받으십시오. 컴퓨터에 넣고 해당 CD로 부팅하십시오. 별도의 파일 시스템으로 자동 마운트 될 Windows 디스크를 확인하십시오. 원하는 모든 파일을 가져 와서 데스크탑의 새 폴더에 넣으십시오. 해당 폴더를 압축하여 외부 하드 드라이브 또는 USB 스틱에 넣거나 네트워크 드라이브에서 파일 시스템으로 다시 복사 할 수 있으면 최상위 디렉토리로 이동하십시오.


Robocopy가 설치되어 있지 않으며 설치 권한이 있는지 확실하지 않습니다 (작업용 컴퓨터 임). 또한 이것은 각 파일에 대해 많은 작업처럼 들립니다. 내 예제는 단순화되었습니다. 실제로 여러 수준의 디렉토리가 너무 깊으며 각 디렉토리에는 너무 긴 경로 문제로 인해 액세스 할 수없는 파일이 포함되어 있습니다. 모든 사람이 원하는 모든 파일에 대해이 작업을 수행 할 시간이 없습니다.
FrustratedWithFormsDesigner 2012 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.