Welche (Sonderzeichen) kann ich verwenden, um einen Eintrag ganz hinten in der Sortierung anzeigen zu lassen (z. B. Filestruktur)?


05.05.2023, 21:16

Meine Frage war, ob ich irgend ein Sonderzeichen wählen kann, welches nach bbbbb in der Sortierung auftaucht. (Windows Explorer)

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Für Dateinamen sollte man sich grundsätzlich auf druckbare ASCII-Zeichen beschränken. Allerdings sind in diesem set auch Sonder- und Steuerzeichen enthalten, welche nicht in Dateinamen verwendet werden dürfen:

*/<>?\|":

Folgende Zeichen sind erlaubt, aber sollten vermieden werden, weil sie in cmd/Batch (und einigen anderen Scriptsprachen) zu unvorhersehbaren Interaktionen führen können:

&'%!,;^`~+

Keinen Ärger machen folgende Zeichen:

#$()-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz{} 

aber nun zu Deiner Sortierung:

Da richtet sich wenn es um Dateien geht nicht jedes Programm beim sortieren nach dem Wert des ASCII-Codes. (obgleich []_{} auf z folgen werden diese vor den Buchstaben eingeordnet) Ergo ist mit den erlaubten Zeichen des ACIIZeichensatzes bei Z schluss!

Modernes Windows erlaubt neben den ASCIIZeichen aber auch UTF8-Zeichen. Viele UTF8Zeichen werden abhängig von der verwendeten Systemsprache (bei der Dateisortierung) oberhalb von Z sortiert.

Jede Menge wen und aber.

Mit Kyrillischen Zeichen könnte es im Explorer funktionieren.

Bild zum Beitrag

...allerdings können die in Anwendungen .welche kein UTF8 oder Kyrillische Fonts unterstützen, ärger machen.

Ich habe keine Ahnung was Du da rumbastelst.

um in Cmd/Batch einigermaßen mit UTF8 zurechtzukommen muss man die betreffende cidepage explizit setzen: chcp 65001 .

demo.cmd

@echo off
chcp 65001 &rem UTF8 Codepage setzen
 rem erzeuge Textdateien mit den angegebene Zeichen im Namen
for %%a in ( 1 2 3 A B X Y Z_ [ ] { } ³ € Ю ц) do (echo blubb: %%a >"%%a.txt")
dir /on &rem dateien sortiert anzeigen
pause

Die batch muss im Editor als UTF8 (ohne BOM) gespeichert werden!




 - (PC, NTFS, Dateisystem)

BubbaSmithXY 
Fragesteller
 05.05.2023, 21:19

Danke schonmal. Ich kann hier kein Bild in die Antwort reinkopieren, daher habe ich oben meine Frage ergänzt. Man sieht einen Screenshot vom Windows-Explorer. Ich habe alle mi bekannten SOnderzeichen ausprobiert. Alle landen sie in der alphabetischen top-down-Sortierung vor den Buchstaben. Ich hätte halt gen ein Präfix vor dem Dateinamen, so das die Datei unten steht. Gehen würde es mit ZZZZZZ aber das will ich gerade nicht,

0
Erzesel  06.05.2023, 08:49
@BubbaSmithXY

Weshalb machst Du überhaupt solchen Quatsch?

Mit einer normalen Nummerierung fester Länge (führende 0en) kommst Du wesentlich weiter. Das ist wesentlich sicherer als sich auf eine Sortierung zu verlassen, welche von der Art abhängt, wie eine Anwendung Sonderzeichen sortiert.

000001.txt
000002.txt
...
000009.txt
000010.txt
...
000098.txt
000099.txt
000100.txt

...das funktioniert immer und Überall

powershell "1..100|foreach{''>($_.tostring('d6')+'.txt')}"

Ansonsten bleibt Dir nur die Verwendung nichtlateinischer UTF8-Zeichen, welche oberhalb von Z angesiedelt sind (aber Vorsicht das kyrillische А sieht aus wie ein latein A steht aber nach dem Z !

8.txt
9.txt
A.txt
B.txt
X.txt
Y.txt
Z.txt
А.txt
В.txt

...was dann durchaus Verwirrung stiften könnte

welches nach bbbbb in der Sortierung auftaucht. 

c


0