So kopieren Sie Ordner mit mehreren identischen Dateinamen

So kopieren Sie Ordner mit mehreren identischen Dateinamen

Ich habe ein gekapseltes Windows 10 Kiosksystem, das Berichte über externe USB-Speichergeräte (NTFS) erstellt/bereitstellt. Leider kann ich zu diesem System nicht viel sagen, da es ziemlich stark eingebunden ist.

Wenn ich dieses USB-Speichergerät zum Kopieren/Sichern auf einem anderen Windows-System (Windows 10 Pro 19044.1387) anschließe, treten einige Probleme auf.

In einem der Berichtsunterordner (Bilder) sind alle Bilddateien gespeichert. Beim Versuch, diesen Ordner an einen neuen Ort zu kopieren (wo noch nichts vorhanden ist), werde ich von Windows gefragt, was mit dem Überschreiben vorhandener Dateien geschehen soll. Es sollten keine vorhanden sein!

Wenn ich in den Quellordner schaue, sehe ich, dass es tatsächlich einige Dateien mit identischen Namen gibt. Zum Beispiel mehrere „Image-1.jpg“-Dateien. Die Inhalte dieser Dateien sind alle optisch unterschiedlich. In keiner dieser Dateien gibt es Klammern „()“ mit Zählungen.

Ich vermutete ursprünglich versteckte Steuerzeichen, die die Kopie wahrscheinlich entfernte, was zur Duplizierung führte, aber ich konnte solche Zeichen nicht identifizieren. Ich sage nicht, dass dies nicht der Fall ist, ich konnte sie nur nicht leicht identifizieren.

Allerdings kann ich den Bericht jetzt nicht vollständig kopieren.

Welche Möglichkeiten bleiben mir, diesen Bericht zu kopieren/sichern und die doppelten Dateien mit identischen Namen beizubehalten? Kann ich Windows zwingen, eine weitere Datei mit demselben Namen im selben Ordner zu erstellen?

AKTUALISIEREN:

Ich habe das versteckte Zeichen gefunden. Es stellt sich heraus, dass es sich um ein führendes " " (Leerzeichen) handelt. Eine Datei heißt "Image-1.jpg", die andere "Image-1.jpg". Die Windows-Kopie muss führende Leerzeichen entfernen und einen Konflikt in Namen verursachen, wo keine vorhanden sind. (Vorausgesetzt, Sie beginnen einen Dateinamen mit einem führenden Leerzeichen.)

Ich habe gerade versucht, unter Windows eine TXT-Datei zu erstellen, und es lässt Sie keine Datei mit einem führenden Leerzeichen erstellen, aber über die cmd/dos-Eingabeaufforderung ist dies möglich. $ echo abc >" my file.txt" erstellt eine Datei mit einem führenden Leerzeichen, die im Datei-Explorer angezeigt werden kann.

Im Windows-Datei-Explorer können Sie die Datei nicht umbenennen und das führende Leerzeichen entfernen, da die Dateinamen identisch sind. Sie müssen der Datei einen komplett neuen Namen geben und ihn dann wieder in den ursprünglichen Namen abzüglich des führenden Leerzeichens ändern.

Meine Vermutung, dass Windows beim Kopieren versteckte Zeichen entfernt hat, ist also richtig. Ein Dateiname mit einem führenden Leerzeichen entspricht demselben Dateinamen ohne dieses Leerzeichen. Wenn sich also beide in einem Ordner befinden, wenn dieser Ordner kopiert wird, kommt es zu Konflikten zwischen ihnen.

Verwenden Sie die folgenden DOS-Befehle, um dieses Problem zu testen:

$ mkdir "test"
$ cd test
$ echo "abc" >"file1.txt"
$ echo "def" >" file1.txt"

Kopieren Sie dann den Testordner mit dem Datei-Explorer. Sie werden sehen, dass eine der Dateien umbenannt wird. Die Datei wird jedoch nur dann automatisch umbenannt, wenn kein anderer Konflikt mit „- Kopieren“ vorliegt. Wenn ein Konflikt vorliegt, werden Sie gefragt, was zu tun ist.

Antwort1

Sie scheinen auf einen Fehler im Datei-Explorer gestoßen zu sein. PowerShell 7.x und Windows PowerShell scheinen diesen Fehler jedoch nicht aufzuweisen.

Ich habe auf meinem Desktop einen Ordner „Test“ erstellt, der zwei Dateien enthält: „ 1.jpg“ und „ 1.jpg“. Dann habe ich den Inhalt von „Test“ mit dem folgenden Befehl in „Test2“ kopiert:

Set-Location '~\Desktop'
Copy-Item 'Test\*' 'Test2'

verwandte Informationen