Dateiname zu lang zum Kopieren, sagt aber nicht, welcher

0

Ich habe ein paar Dateien kopiert, konnte aber keine kopieren, da der Name zu lang war. Gibt es eine einfache Möglichkeit, die Namen zu verkürzen, oder kann ich zumindest den Pfad kennen, unter dem der Dateiname zu lang wird?

BEARBEITEN: Mit einer Reihe von Dateien meine ich, dass es zwei Verzeichnisse gibt, die jeweils Dateien enthalten, und dass mehr Verzeichnisse mehr Dateien usw. enthalten. Ich kopiere einfach mit Strg + C

Celeritas
quelle
Was bedeutet "Mehrere Dateien"? War das ein großes Verzeichnis oder viele einzelne Dateien? Wie haben Sie das Kopieren versucht und welche Nachricht oder welches Popup haben Sie erhalten? Sie haben uns nicht genug erzählt, um genau zu wissen, wo das Problem liegt und wie Sie helfen können.
Nicole Hamilton
Daunenwähler haben Mut zu kommentieren?
Celeritas

Antworten:

1

Sie können Path Scanner verwenden , um die fehlerhaften Dateien zu finden. (Scrollen Sie nach unten zu Old Path Scanner)

colealtdelete
quelle
1

Ich würde vorschlagen , Robocopy , gebautet in Windows 7.

robocopy <Source> <Destination> [<File>[ ...]] [<Options>]
Ofiris
quelle
Wie hilft das bei langen Dateinamen?
Celeritas
Ich habe Ihre Frage falsch verstanden, dachte, Sie haben Probleme beim Kopieren langer Dateien.
Ofiris
0

Wenn Sie mit einer Befehlszeilenlösung cpeinverstanden sind, können Sie mit dem in der Hamilton C-Shell enthaltenen Dienstprogramm Ihre Dateien problemlos kopieren, ohne dass Sie etwas verkürzen müssen. (Vollständige Offenlegung: Ich bin der Autor.) Wie bei den anderen grundlegenden Dateidienstprogrammen werden lange Unicode-Dateinamen intern verwendet, um Pfadlängen von bis zu 32 KB Zeichen zu unterstützen. Dies ist das Systemlimit.

Wenn dies einmalig ist (und möglicherweise auch nicht), brauchen Sie nur die kostenlose Version . Lassen Sie mich wissen, wenn Sie auf ein Problem stoßen oder Hilfe benötigen, damit es das tut, was Sie wollen.

Nicole Hamilton
quelle
0

Sie sagen nicht, welches Betriebssystem Sie verwenden. Unter Windows ist TeraCopy ein großartiges Programm (die kostenlose Version, die für die meisten geeignet ist ), das ich zum Kopieren / Verschieben von Dateien verwende. Im Gegensatz zu Windows schlägt TeraCopy bei problematischen Dateien nicht vollständig fehl. Es kann nach Bedarf verwendet werden oder die Windows-Kopierfunktion durch eine eigene ersetzen. Hier ist ein Klappentext:

TeraCopy wurde entwickelt, um Dateien mit der maximal möglichen Geschwindigkeit zu kopieren und zu verschieben. Während des Kopiervorgangs werden fehlerhafte Dateien übersprungen und am Ende der Übertragung angezeigt, sodass Sie sehen können, welche Dateien Ihre Aufmerksamkeit erfordern. TeraCopy kann die kopierten Dateien automatisch auf Fehler überprüfen, indem die CRC-Prüfsummenwerte berechnet werden. Es enthält außerdem wesentlich mehr Informationen zu den zu kopierenden Dateien als das Windows-Gegenstück. TeraCopy lässt sich in das Kontextmenü von Windows Explorer integrieren und kann als Standardkopierhandler festgelegt werden

akTiert
quelle
Die Frage verwendet das Windows 7-Tag. Vermutlich bestätigt das, was Sie dachten: Windows wird verwendet.
TOOGAM
0

Um das Problem zu beheben, müssen Sie die fehlerhaften Dateien suchen, bei denen der vollständige Pfad und der Dateiname mehr als 255 Zeichen enthalten. Da das Finden der Länge in einer Batch-Datei ein bisschen wie ein Hundedinner ist, verwende ich das folgende VBScript.

Speichern Sie den folgenden Code in einer Datei mit dem Namen longpaths.vbs. Führen Sie es an einer DOS-Eingabeaufforderung mit folgendem Pfad aus: cscript longpaths.vbs <path> <length>Wo <path>befindet sich der Ordner? (Vergessen Sie nicht, ihn in Anführungszeichen zu setzen, wenn Sie ein Leerzeichen haben) und <length>wie lang der Pfad ist, über dem er markiert werden soll.

Der Code lautet wie folgt:

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

Beispielnutzung und Ausgabe:

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>

Sobald Sie die Problemdateien kennen, können Sie sie entweder so umbenennen, dass sie kürzer sind, einen der Ordner in diesem Pfad umbenennen oder (möglicherweise) ein Netzwerklaufwerk einem Unterordner in diesem Pfad zuordnen, wodurch sich die Länge des Pfads verringert.

Richard
quelle