Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Reihenfolge von Zahlen korrekt anzeigen lassen ohne vorangestellter 0

Frage Entwicklung Batch & Shell

Mitglied: 45753

45753 (Level 1)

20.07.2007, aktualisiert 22.07.2007, 5303 Aufrufe, 9 Kommentare

Hallo zusammen,

gibt es eine Moeglichkeit in der Shell sich die Reihenfolge von Zahlen korrekt anzeigen lassen ohne vorangestellter 0 ?

Zahlenfolge 1-12 = 1,10,11,12,2,3,4,5,6,7,8,9

sollte aber sein

Zahlenfolge 1-12 = 1,2,3,4,5,6,7,8,9,10,11,12

Gruesse, wobleibtdiezeit
Mitglied: bastla
20.07.2007 um 13:16 Uhr
Hallo wobleibtdiezeit!

Du solltst vielleicht dazusagen, wo die Zahlen herkommen bzw was Du damit vorhast ...

Ganz grundsätzlich: Wenn Du eine Zahl einer Variablen mit
01.
set /a Var=Zahl
zuweist, wird diese numerisch interpretiert ...

Grüße
bastla
Bitte warten ..
Mitglied: 45753
20.07.2007 um 13:35 Uhr
Hallo bastla!

[ Du solltst vielleicht dazusagen, wo die Zahlen herkommen... ]

Stimmt hab ich vergessen...

Die Zahlen stammen aus Dateinamen.

Das Problem:

Wenn ich eine schon vorhandenen Zaehlenfolge aus den Ursprungsdateien entfernen moechte um dann gleich einen neuen Zaehler einzubauen geht das mit meiner Batch nicht innerhalb einer Operation. Ich muss immer zuerst die vorangestellten 0en berechnen lassen, damit mir die Reihenfolge im zweiten Durchgang dann korrekt angezeigt wird. Im zweiten Durchgang haben die Dateien dann nicht mehr die Zahlenfolge 1-12 sondern 01-12 - also 01,02,03,04,05,06,07,08,09,10,11,12. Erst dann wird die Reihenfolge der Dateien in der Shell korrekt angezeigt.
Wenn ich das nicht taete, dann wuerde der neue Zaehler die Datei mit der Zahl z.B. 10 an die zweite Stelle setzen - auf Grund der Darstellung der Ursprungsreihenfolge ohne vorangestellter 0: 1,10,11,...

Gruesse, wobleibtdiezeit

p.s. In Windows 98/95 gab es im Windows Explorer das gleiche Problem. Erst mit Windows XP/98 wurde dieses Problem im Explorer behoben. Die Shell scheint vergessen worden zu sein. Oder ist das Absicht ?
Bitte warten ..
Mitglied: bastla
20.07.2007 um 14:06 Uhr
Hallo wobleibtdiezeit!

Wenn Du Nummern in Dateinamen konsequent mit führender Null verwendest, taucht das Problem gar nicht auf.

Ausgehend von einem Dateinamen "Test0816.txt", gespeichert in der Variable %1, könntest Du die nächste Nummer etwa so ermitteln:
01.
set "DateiName=%~n1" 
02.
set /a Nr=1%DateiName:~-4%+1 
03.
set NeueNr=%Nr:~-4% 
04.
echo %NeueNr%
Falls der Name in %%i steht, in der ersten Zeile eben %%~ni verwenden

Die Zahl 4 gibt die Stellenanzahl an.



Grüße
bastla
Bitte warten ..
Mitglied: 45753
20.07.2007 um 14:34 Uhr
Hallo bastla!

Danke fuer die Hilfe...

Diese Art Code ist in meiner Batch auch enthalten. Sie ist auch in der Lage Ziffern zu erkennen um so die Ziffernanzahl der jeweiligen Zahl zu ermitteln um dann die ganza Zahl zu loeschen bzw. zu bearbeiten - unabhaengig davon an welcher Stelle die Zahl im Dateinamen steht...
Ich selbst nutze auch immer konzequent die Zahlen mit vorangestellter 0. Die Batch ist fuer Renaming-Zwecke gedacht. Dabei kommen die nicht von mir stammende Dateien mit nicht vorangestellter 0 leider immer wieder mal vor. Und genau das ist mein Problem...

Es gibt sicherlich andere Renaming-Tool die das ohne Probleme beherschen. Es wuerde mich aber doch interessieren, ob die Batch ebenso dazu in der Lage ist.

Gruesse, wobleibtdiezeit
Bitte warten ..
Mitglied: 45753
20.07.2007 um 22:27 Uhr
Nabend,

Da diese Art der Anzeige anscheinend auch weder in der Bash noch in der Powershell moeglich ist, muss es einen Grund dafuer geben weshalb diese Ausgabe nicht umzusetzen bzw. gewuenscht ist.
Alternative dir-Tools die ich ergoogelt habe schaffen es auch nicht.

Hat jemand eine Erklaerung warum in allen Shells die Zahlen 1-12 in den Dateinamen in der Reihenfolge
1,10,11,12,2,3,4,5,6,7,8,9
und nicht in der Reihenfolge
1,2,3,4,5,6,7,8,9,10,11,12
wie im Windows Explorer ausgegeben werden ?

Gruesse, wobleibtdiezeit
Bitte warten ..
Mitglied: bastla
20.07.2007 um 23:17 Uhr
Hallo wobleibtdiezeit!

Weil einfach nach ASCII sortiert und dabei der Dateiname nicht "interpretiert" wird? Für die CMD-Shell ist eben der Name ein String und nicht ein String mit Integer hintendran.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.07.2007 um 02:50 Uhr
Moin wobleibtdiezeit,

der Explorer kennt beide Einstellungen - die stumpf-alphabetische Sortierung und alternativ auch die "Zahlen-im-Dateinamen-nach-Wert"-Sortierung.
Lässt sich über einen Registry-Wert umschießen/einstellen. Ist auch irgendwo in diesem Forum schon mal gepostet worden.

Aber, um noch mal die von bastla schon gehauene Kerbe zu vertiefen - eigentlich vergibt man/frau geplanterweise so, dass sie später "sortiert" erscheinen, also nach Datum-im-Namen (z.B. "JJJJ-MM-TT_Protokoll.doc") oder mit "Version-im-Namen" ( und dann meinetwegen mit 1001 beginnend).

Grüße
Biber
Bitte warten ..
Mitglied: 45753
21.07.2007 um 11:10 Uhr
Hallo zusammen,

Danke Biber, dass du dich auch zu Wort meldest. Da sich der Registry-Wert wohl nur auf den Explorer bezieht und fuer die CMD-Shell wie bastla schreibt der Name nur ein String und nicht ein String mit Integer hintendran ist, werde ich die Sucherei im Web besser einstellen.

Danke fuer die Infos, wobleibtdiezeit
Bitte warten ..
Mitglied: 45753
22.07.2007 um 01:59 Uhr
Nabend!

Es gibt doch eine Loesung/Teil-Loesung des Problems.

Da es mir egal sein kann an welcher Stelle im Dateinamen sich der Zaehler befindet, kann ich ab der Stelle x im Dateinamen prüfen lassen, ob das 2., 3., 4., usw, Zeichen eine Zahl ist. Alle Dateinamen in denen sich die Zahlen mit nur einer Ziffer befinden werden dann in die Datei bla01.txt und die Dateinamen mit zweistelliger Ziffernanzahl in die Datei bla02.txt usw, geschrieben. Danach kann man (ist nicht zwingend notwendig) die Dateien zu einer zusammenfuegen. In der Datei blaall.txt werden zuerst die Dateinamen aus der bla01.txt umgeleitet, dann aus der bla02.txt usw. So hat man nun die korrekte Reihenfolge der Dateien auch ohne vorheriger 0 Stellenberechnung und ohne die Dateien zuerst umbenennen zu muessen. Diese Operation einzusparen war ja wie schon oben erwähnt mein eigentliches Ziel. Statt dem Dir-Befehl in der For-Schleife kann ich nun alternativ die blaall.txt einlesen lassen.

Der Rechenaufwand im Vergleich zum einfachen Dir-Befehl wird hoffendlich nicht allzu gross ausfallen. Den Code muss ich noch einfuegen. Aber das wird nicht schwer werden.

Nacht, wobleibtdiezeit
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel - Ganze Zahlen werden nicht korrekt angenommen
gelöst Frage von CometcolaMicrosoft Office2 Kommentare

Hallo zusammen, ich habe bei meinem Excel 365, Patch-Version (1705, 8201.2025) ein merkwürdiges Problem: Wenn ich Excel starte und ...

VB for Applications
Access 2002 - nur Arbeitstage zählen lassen
gelöst Frage von DoranBVB for Applications20 Kommentare

Guten Tag zusammen Ich besitze momentan eine Access 2002 Datenbank und möchte sie gerne erweitern. In einem Formular erfasse ...

Microsoft Office
Excel Zahlen importieren, die mit 0 (Null) beginnen
gelöst Frage von hesperMicrosoft Office5 Kommentare

Hallo zusammen! Ich hab hier ein kleines Problem, bei dem ich nicht weiterkomme. Aus einem Warenwirtschaftssystem werden die Kundendaten ...

Datenbanken
EcoDMS - Ordnerstruktur nicht anzeigen lassen
Frage von geromaDatenbanken10 Kommentare

Hallo zusammen Ich hoffe, ich bin hier richtig. Folgende Ausgangssituation. Mein Kollege und ich sind zurzeit in Gründung eines ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 4 StundenWindows 10

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 5 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 19 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 23 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte15 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...