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

gelöst Nummerierung jeder Zeile in einer Textdatei

Mitglied: Mihail

Mihail (Level 1) - Jetzt verbinden

15.07.2016 um 17:33 Uhr, 1706 Aufrufe, 4 Kommentare

Guten Tag sehr geehrten Admins,

Ich versuche seit einer Weile, als absoluter Anfänger eine batch-Datei zu finden die, wie das o.g. Thema es auch andeutet, welche die Zeilen in einer Textdatei einzeln nummeriert. Das Thema wurde in viele Foren im Internet diskutiert und ich bin schon mehrmals fündig in Internet geworden. Alles bassiert sich auf eine simple aber effiziente Methode:
Man erstellt eine 100%-eKopie der sogenannten "inputdatei" wobei mit einigen Befehle in der "Output-Datei" vorab der Zeilnnhalt jeder Zeile nummeriert wird. Leider alles was ich bis jezt ausprobiert habe zeigt mit den gleichen Fehler: die letzte Zeile wir immerwieder in der Outputdatei zusätzlich erneut kopiert.
D.h. hat man in der Input-Datei 1 Zeile wird diese in der Output-Datei verdoppelt und die neue entstandene Zeilen werden entsprechend mit 1 und 2 nummeriert, z.B.:

während die Datei Input.txt zwei Zeilen hat:
C162SMD08-S08G3xxxx#01S#089583-16072x0001
C162SMD08-S08G3xxxx#01S#089583-16072x0002

wird man im Output.txt wie schon beschrieben folgendes dargestellt:

1: C162SMD08-S08G3xxxx#01S#089583-16072x0001
2: C162SMD08-S08G3xxxx#01S#089583-16072x0002
3: C162SMD08-S08G3xxxx#01S#089583-16072x0002

Ich habe folgende Batch-Dateien schon getestet aber mit dem gleichen Ergebniss:

echo off
setlocal enabledelayedexpansion
SET infile=Input
SET outfile=Output

SET CNT=0
IF NOT EXIST "%Input%" GOTO ERROR
FOR /F "delims=" %%g IN (%Input%) DO (
SET line=%%g
CALL :INKR
)
:INKR
SET /A "CNT+=1"
IF "%CNT%" EQU "1" (ECHO %CNT%: %line% > %Output%) ELSE (ECHO %CNT%: %line% >> %Output%)
GOTO:EOF
:EOF
:ERROR
ECHO %Input% nicht gefunden!
:EOF

oder

echo off
setlocal enabledelayedexpansion
set /A z=0
FOR /F %%h IN (Input) DO (set /A z = "z+1" && echo %z%:%%h>>Output)

oder

echo off
setlocal enabledelayedexpansion
for /F "usebackq tokens=*" %%f in (`find /n /v "@@@@@"^< %Input%`) do @set line=%%f & set line=!line:]= !& set line=!line:[=! & echo !line!>> %Output%

Ich habe vieles selber ausprobiert aber ich finde den Fehler nicht.
Bitte, könnt Ihr mir evtl. hierzu behilflich sein?

Vielen Dank,

Miihail
Mitglied: 129813
15.07.2016, aktualisiert um 17:49 Uhr
Hi,
why so much code for such a simple thing
01.
findstr /n "^" "C:\file.txt" >"C:\file_numbered.txt"
Regards
Bitte warten ..
Mitglied: Mihail
15.07.2016 um 19:14 Uhr
Hi highload,
you're right , it is simple for who knows . Thank you very much for your help.
The solution is very simple but has not the possibility to introduce at the beginning of each line a space .
I would be interested to know too why the other ideas have not worked. So one I can learn more about. Could you find this if you have time for that was not correct?
Greetings and thanks again,
Bitte warten ..
Mitglied: 129813
15.07.2016, aktualisiert um 19:35 Uhr
Zitat von Mihail:
The solution is very simple but has not the possibility to introduce at the beginning of each line a space .
Also not that problem:
01.
@echo off & setlocal
02.
SET "infile=C:\input.txt"
03.
SET "outfile=C:\output.txt"
04.
>"%outfile%" (for /f "tokens=1* delims=:" %%a in ('type "%infile%" ^| findstr /n "^"') do echo %%a: %%b)
I would be interested to know too why the other ideas have not worked. So one I can learn more about. Could you find this if you have time for that was not correct?
The reason is, you are using "delayedexpansion" but you still use percent signs inside the for loop, you have to use exclamationmarks "!" around variables that you declare inside the for loop. So if you set the counter CNT inside the loop you have to write !CNT! if you use its value.
Read here about delayed expansion.

Regards
Bitte warten ..
Mitglied: Mihail
15.07.2016 um 20:45 Uhr
Hi highload,
Great job . I am particularly impressed about. I hope I have learned something from it but I think I'll gain some experience only through practice.
Thanks a lot , you've helped a lot .
Best regards,and a good evening.
Bitte warten ..
Ähnliche Inhalte
Windows 10
Datenträger Nummerierung
gelöst Frage von AushilfsarnieWindows 109 Kommentare

Hallo, ich habe eine neue Festplatte (m.2 nvme) gekauft. jetzt möchte ich diese gerne als erste Festplatte (mit Windows ...

VB for Applications

Word VBA - Bestimmte Ebene einer Nummerierung markieren

gelöst Frage von BaseBubbleVB for Applications3 Kommentare

Hallo! In einer Word-Datei mit Nummerierungen möchte ich via VBA die zweite Ebene der Nummerierungen markieren (und dann weiterbearbeiten ...

Outlook & Mail

Nummerierung in E-Mailbetreff statt AW

gelöst Frage von Diddy0815Outlook & Mail9 Kommentare

Hallo, Bei einem Geschäftspartner ist mir aufgefallen, sobald er auf ein E-Mail antwortet steht nicht im Betreff z. B.: ...

VB for Applications

Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen

gelöst Frage von aletriVB for Applications7 Kommentare

Guten Morgen an alle Der folgende Vbscript fügt einer Texdatei eine bestimmte Zeile ein, das klappt soweit Nun sollte ...

Neue Wissensbeiträge
Viren und Trojaner
Trend Micro WFBS 10 SP1 Patch 2185
Tipp von Abramelin vor 7 StundenViren und Trojaner

Hi, Hab gerade gesehen das Patch 2185 für TM WFBS 10 SP1 erschienen ist! Werde mal Morgen den Patch ...

Viren und Trojaner

Neuer Virus lässt Windows im abgesicherten Modus starten

Tipp von transocean vor 10 StundenViren und Trojaner2 Kommentare

Moin, lest selbst. Grüße Uwe

Sicherheit
Böser Bug in Domänenkennwortrichtlinie!
Information von DerWoWusste vor 15 StundenSicherheit1 Kommentar

Ich spiegele mal Borncity: In Kürze: Nutzt Ihr eine Domänen-Kennwortrichtlinie der herkömmlichen Art (keine PSO-Richtlinie)? Ja? Und plant Ihr, ...

Windows Tools
7-Zip v19.0 MSI silent uninstall
Tipp von Dirmhirn vor 1 TagWindows Tools5 Kommentare

Hi, ich versuchte grade 7-Zip v19.0 MSI silent zu deinstallieren. mit msiexec /x stürzt mir immer der Explorer ab. ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
Sperrung der IMAP Aktivierung: GMail für Apple Mail - in einer Schul-Google-Suite
Frage von lazylandSicherheitsgrundlagen15 Kommentare

Hallo, ich würde mich sehr über Eure Einschätzung und Rat freuen: Der Administrator einer Google Suite (Schule) löscht aus ...

Windows 10
Win10 Remote Desktop User anders
Frage von ludibubiWindows 1014 Kommentare

Folgende Situation: Auf meinem Rechner (Win10) in der Firma (Domänen-Netzwerk) starte ich abends bevor ich gehe einen Newsletterversand. Damit ...

Windows 8
Snipping Tool Alternative für bzw ab Windows 8.1
gelöst Frage von schmitziWindows 814 Kommentare

Hallo, ich suche für Windows 8.1 eine Alternative für das bordeigene Snipping Tool von MS, vielleicht weiss ja jemand ...

Server-Hardware
Anschaffung neuer Server
Frage von tschip1801Server-Hardware14 Kommentare

unsere Firma bekommt einen neuen Server, ich bin schon sehr lange nicht mehr so tief im geschehen um hier ...