Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

Mit Batch einstelligen Zahlen eine 0 vorstellen und sortieren

Frage Entwicklung Batch & Shell

Mitglied: Brother-Tuck

Brother-Tuck (Level 1) - Jetzt verbinden

22.03.2012 um 11:09 Uhr, 4068 Aufrufe, 5 Kommentare

Ich möchte in mehreren Dokument alle Zeilen die mit nur einstelligen Zahlen anfangen eine 0 vorstellen.

Ich habe mehrere Dokumente, in der jede Zeile mit einer Zahl beginnt.
Jetzt möchte ich eine Batch-Datei, die bei jeder einstelligen Zahl eine Null voranstellt.
Gibts eine Möglchkeit dies mitt einer Schleife zu tun?

Mein Lösungsansatz:
Ich würde die 2te Ziffer/Buchstabe prüfen, ist diese eine Zahl, gehe zur nächsten Zeile.
Sollte diese 2te Zeichen keine Zahl sein, würde ich vor das erste Zeichen der Zeile eine 0 einfügen und dann zur nächsten Zeile gehen.
Dies mit allen Zeilen wiederholen und zum Schluss noch aufsteigend sortieren.

Wäre super wenn mir da einer helfen könnte, das mit dem Zahlen editieren erweist sich als schwieriger als erwartet.

Mit freundlichen Grüßen
Brother-Tuck
Mitglied: 60730
22.03.2012 um 11:31 Uhr
auch dir einen schönen Tag...

Ich habe mehrere Dokumente
  • ich auch - angefangen von a wie Audio bis z wie zustandsbeschreibungen - aber die sind alle in unterschiedlichen Dateiformaten" abgelegt.
Um welche gehts bei dir?

Gibts eine Möglchkeit dies mitt einer Schleife zu tun?
Naja - ich sehe nicht den Wunsch Kaffe zu kochen oder ein Auto zu reparieren, von daher ja.

Mein Lösungsansatz:
kannst du den auch hier gerne in code blöcken posten?

Ich würde die 2te Ziffer/Buchstabe prüfen, ist diese eine Zahl, gehe zur nächsten Zeile.
wahrscheinlich bist da da nicht der einzige
Sollte diese 2te Zeichen keine Zahl sein, würde ich vor das erste Zeichen der Zeile eine 0 einfügen und dann zur nächsten Zeile gehen.
Das passt doch wunderherrlichbar zur Thematik
Gibts eine Möglchkeit dies mitt einer Schleife zu tun?

Dies mit allen Zeilen wiederholen und zum Schluss noch aufsteigend sortieren.
Auch das ist via sort /? kein Ding.

Gruß
Bitte warten ..
Mitglied: bastla
22.03.2012 um 11:35 Uhr
Hallo Brother-Tuck!
Gibts eine Möglchkeit dies mitt einer Schleife zu tun?
Die interessantere Frage wäre wohl, ob das ohne Schleife ginge ...

Dein Ansatz würde sich als Batch etwa so lesen:
01.
@echo off & setlocal 
02.
set "Ein=D:\Die Ausgangsdatei.txt" 
03.
set "Aus=D:\Die sortierte Datei.txt" 
04.
 
05.
set "T=%temp%\Unsortiert.txt" 
06.
 
07.
del "%T%" 2>nul 
08.
for /f "usebackq delims=" %%i in ("%Ein%") do set "Zeile=%%i" & call :ProcessLine 
09.
sort "%T%" /o "%Aus%" 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
set "ZZ=%Zeile:~1,1%" 
14.
if defined ZZ echo 0123456789|findstr "%ZZ%">nul || set "Zeile=0%Zeile%" 
15.
setlocal enabledelayedexpansion 
16.
>>%T% echo !Zeile! 
17.
endlocal 
18.
goto :eof
[Edit] Genauer wäre das allerdings so:
01.
<code>@echo off & setlocal 
02.
set "Ein=D:\Die Ausgangsdatei.txt" 
03.
set "Aus=D:\Die sortierte Datei.txt" 
04.
 
05.
set "T=%temp%\Unsortiert.txt" 
06.
 
07.
del "%T%" 2>nul 
08.
for /f "usebackq delims=" %%i in ("%Ein%") do set "Zeile=%%i" & call :ProcessLine 
09.
sort "%T%" /o "%Aus%" 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
set "EZ=%Zeile:~,1%" 
14.
set "ZZ=%Zeile:~1,1%" 
15.
if defined ZZ echo 0123456789|findstr "%EZ%">nul && (echo 0123456789|findstr "%ZZ%">nul || set "Zeile=0%Zeile%") 
16.
setlocal enabledelayedexpansion 
17.
>>%T% echo !Zeile! 
18.
endlocal 
19.
goto :eof
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Brother-Tuck
22.03.2012 um 12:05 Uhr
Vielen Dank für eure Hilfe bastla & TimoBeil.

TimoBeil danke ich für die lustigen Statement auch wenn das mir in keinster Weise weitergeholfen hat.
So ne Antwort liest sich zwar lustig, hilft aber niemandem.
Und 3 Textzeilen als Code zu vormatieren finde ich übertrieben...

bastla danke ich für die schnelle Hilfe und den Code. Außerdem natürlich für das beantworten meiner Frage.
Wie immer super schnell und genauso Kompetent. 1+^^

Gruß Brother-Tuck
Bitte warten ..
Mitglied: 60730
22.03.2012 um 15:05 Uhr
salve,

Zitat von Brother-Tuck:
Vielen Dank für eure Hilfe bastla & TimoBeil.

TimoBeil danke ich für die lustigen Statement auch wenn das mir in keinster Weise weitergeholfen hat.
So ne Antwort liest sich zwar lustig, hilft aber niemandem.

naja Kollege Bastla hat einfach mal angenommen, es wären textdateien, aber muß man immer alles erraten?

Und 3 Textzeilen als Code zu vormatieren finde ich übertrieben...
Nö einzeiler sind die Macht und die sind ohne die Code Tags überhaupt nicht lesbar


Gruß Brother-Tuck

retour
Bitte warten ..
Mitglied: Biber
22.03.2012 um 18:39 Uhr
[OT]
Moin Brother-Tuck,

Zitat von Brother-Tuck:
Und 3 Textzeilen als Code zu vormatieren finde ich übertrieben...
Wenn du wüsstest, wie oft ich diese drei Zeilen nachmatieren muss als Hilfsmoderator im Bereich "Batch & Shell".

Gruß Brother-Tuck
Interessanter Nick. Ich kannte mal eine Mother-Fuck oder so ähnlich...
Gruß zurück
Biber
[/OT]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Eine Batch zum Sortieren verschiedener Dateien in Ordner (16)

Frage von Jaglag zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Datei die Zahl jede Zell in einer Spalte um 10 verkleinern (12)

Frage von ha5257 zum Thema Batch & Shell ...

Linux
gelöst E-Mail Adressen zählen (2)

Frage von plutowitsch zum Thema Linux ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...