파일 이름이 너무 길어 복사할 수 없지만 어느 파일인지 알 수 없음

파일 이름이 너무 길어 복사할 수 없지만 어느 파일인지 알 수 없음

여러 개의 파일을 복사하고 있었는데 이름이 너무 길어서 일부는 복사할 수 없었습니다. 이름을 줄이는 쉬운 방법이 있습니까? 아니면 최소한 파일 이름이 너무 길어지는 경로를 알 수 있습니까?

편집: 파일 묶음이란 각각 파일을 포함하는 두 개의 디렉토리가 있고 더 많은 파일을 포함하는 더 많은 디렉토리가 있다는 것을 의미합니다. 간단히 ctrl+c로 복사하고 있습니다.

답변1

당신이 사용할 수있는경로 스캐너문제가 되는 파일을 찾으려면 (기존 경로 스캐너 아래로 스크롤)

답변2

내가 제안 할게로보카피, 내장 Windows 7.

robocopy <Source> <Destination> [<File>[ ...]] [<Options>]

답변3

명령줄 솔루션에 문제가 없다면 cp제가 포함하는 유틸리티는해밀턴 C 쉘단축할 필요 없이 파일을 쉽게 복사할 수 있습니다. (전체 공개: 제가 저자입니다.) 나머지 기본 파일 유틸리티와 마찬가지로 다음을 사용합니다.긴 유니코드 파일 이름내부적으로는 시스템 제한인 최대 32K 문자의 경로 길이를 지원합니다.

이것이 일회성인 경우(아마도 그렇지 않더라도) 필요한 것은무료 버전. 문제가 발생하거나 원하는 작업을 수행하는 데 도움이 필요하면 알려주세요.

답변4

문제를 해결하려면 전체 경로와 파일 이름이 255자를 초과하는 문제가 있는 파일을 찾아야 합니다. 배치 파일에서 길이를 찾는 것은 약간의 개 저녁 식사이기 때문에 다음 VBScript를 사용합니다.

아래 코드를 longpaths.vbs. 다음을 사용하여 DOS 명령 프롬프트에서 실행합니다. cscript longpaths.vbs <path> <length>여기서는 <path>폴더 위치(공백이 있는 경우 따옴표로 묶는 것을 잊지 마세요)이고 <length>플래그를 지정해야 하는 경로의 길이입니다.

코드는 다음과 같습니다:

Option Explicit
If WScript.Arguments.Count <> 2 Then
    WScript.Echo "Usage: " & WScript.ScriptName & " <path> <max length>"
    WScript.Quit
End If
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(WScript.Arguments(0)) = False Then
    WScript.Echo WScript.Arguments(0) & " - Invalid path or no such folder."
    WScript.Quit
End If
Dim oFolder : Set oFolder = fso.GetFolder(WScript.Arguments(0))
Dim iLength : iLength = CInt(WScript.Arguments(1))
Dim iCount : iCount = 0
WScript.Echo "Looking for paths longer than " & iLength & " characters in " & oFolder.Path
On Error Resume Next
Call ScanFolder(oFolder)
On Error Goto 0
WScript.Echo "Found " & iCount & "."
WScript.Quit
Sub ScanFolder(oScanFolder)
    Dim oFile : For Each oFile in oScanFolder.Files
        If Len(oFile.Path) > iLength Then
            WScript.Echo oFile.Path
            iCount = iCount + 1
        End If
    Next
    For Each oFile in oScanFolder.SubFolders
        Call ScanFolder(oFile)
    Next
End Sub

샘플 사용법 및 출력:

D:\Development>cscript longpath.vbs c:\Windows 210
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Looking for paths longer than 210 characters in C:\Windows
C:\Windows\assembly\GAC_MSIL\Microsoft.Security.ApplicationId.Wizards.AutomaticRuleGenerationWizard.resources\6.1.0.0_en_31bf3856ad364e35\Microsoft.Security.ApplicationId.Wizards.AutomaticRuleGenerationWizard.resources.dll
Found 1.

D:\Development>

문제 파일을 알고 나면 파일 이름을 더 짧게 바꾸거나 해당 경로에 있는 폴더 중 하나의 이름을 바꾸거나 (아마도) 네트워크 드라이브를 해당 경로의 하위 폴더에 매핑하여 경로 길이를 줄일 수 있습니다.

관련 정보