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

In einer Textdatei jede Zeile kürzen, als Batchfile

Frage Entwicklung Batch & Shell

Mitglied: ginges

ginges (Level 1) - Jetzt verbinden

12.06.2013, aktualisiert 10:44 Uhr, 3826 Aufrufe, 10 Kommentare, 1 Danke

Hallo Zusammen,

ich hätte einmal eine Frage bezüglich des kürzens von Textzeilen in einem txt-file per batch.

Ich bekomme eine txt-Datei mit folgendem Inhalt (gekürzt):

20130006\\+HS =BS.T6\\-K1Kennzeichnugsschilder 95 Plaettchen
20130006\\+HS =BS.T7\\-K1Kennzeichnugsschilder 63 Plaettchen
20130006\\+HS =BS.DP1\\-A4Kennzeichnugsschilder E22 Etiketten
20130006\\+HS =BS.DP1\\-A5Kennzeichnugsschilder E22 Etiketten

Anschließend sortiere ich nach 95, 63 und E22 in eigene txt-Dateien, Bis dahin bekomme ich es hin. In dieser Datei möchte ich alles ab Kennzeichnungsschilder ... abschneiden weil ich das nicht mehr benötige. Ich ringe mich gerade so durch mit Beispielen im Internet, drum bekomme ich das auch schon soweit mit der sortierung hin, bin aber absoluter Laie in Sachen scripting.

PS: Das mit der Sortierung folgt über

findstr "E22" < TEST\Etiketten.txt > TEST\Etiketten\E22.txt

Das Problem ist nur wenn ich mal nach zb einer 20 Suchen muss dann ist nämlich jede Zeile gemeint
(20130006\\+HS =BS.T6\\-K1Kennzeichnugsschilder 95 Plaettchen ) obwohl in diesem Beispiel nur nach 95 gewertet werden muss.

Kann ich den Anschließenden TAB nutzen, also findstr "95\t" oder so. Bzw mit 95\t funktioniert es nicht selbst beim kürzel findstr \C nicht.

Edit: Ups Frage ist ein bisschen blöd gestellt, also mein Hauptproblem ist das Abschneiden der Textzeile. Das mit der Sortierung funktioniert bis dahin, nur wenn die Nummern sich mal ändern. Quasi ist statisch und unschön)

gruß ginges
Mitglied: ginges
12.06.2013 um 12:13 Uhr
So Hauptproblem behoben dank diesem Beitrag: http://www.administrator.de/forum/zeichen-in-textdatei-k%c3%bcrzen-3708 ...
hier im Forum. Und noch TOP Erklärt das es auch ich verstehe.

Habe nur die Struktur der txt-Datei angepasst, damit es genau mit dieser Schleife geht. Die Struktur spielt auch bis dahin keine Rolle. Die Hauptsache ist das ich alles soweit abgeschnitten bekomme.

95 Plaettchen Kennzeichnugsschilder 20130006\\+HS =BS.SF\\-K1


Jetzt hab ich nur noch das Problem mit dem Suchen über Zahlenwerte und ob ich dazu einnen vorhandenen Tabulator oder auch ein Leerzeichen mit verwenden kann. Wird das eigentlich Gleichgestellt der TAB und der SPACE bei der Auswertung in einer Batch?
Bitte warten ..
Mitglied: bastla
12.06.2013 um 12:28 Uhr
Hallo ginges und willkommen im Forum!

Du kannst das so versuchen:
findstr /c:"20	" <TEST\Etiketten.txt >TEST\Etiketten\E20.txt
wobei nach 20 ein TAB steht.

Ansonsten sollte aber auch einfach
findstr /c:"schilder 20" <TEST\Etiketten.txt >TEST\Etiketten\E20.txt
zum Erfolg führen ...

Grüße
bastla
Bitte warten ..
Mitglied: ginges
12.06.2013 um 13:31 Uhr
Hallo bastla,

erstmal Danke für deine nette Begrüßung.

Ich habe das gerade mit
findstr /c:"20 " <TEST\Etiketten.txt >TEST\Etiketten\E20.txt
versucht (mit TAB nach 20), ohne Erfolg. Es Filtert mir nun gar keine Sätze mehr raus.

Gut deine 2 Lösung funktioniert herrvoragend, eigentlich auch logisch. Aber nur Interessehalber, warum geht das mit \c nicht, laut Hilfe ist dies für die genaue Zeichenfolge bei findstr???
Bitte warten ..
Mitglied: Endoro
12.06.2013 um 14:30 Uhr
Hallo ginges,

da es mir nicht klar ist, könntest du ein paar genaue Inputbeispiele posten, erklären wo Tabs sind und wonach du suchst.

Gruss!
Bitte warten ..
Mitglied: ginges
12.06.2013, aktualisiert um 15:38 Uhr
Hallo Endoro

also wie gesagt ich habe diverse Zeilen in einer Textdatei, die ich sortiert in verschiedenen Textdateien abspeichern will.

95[TAB]Plaettchen[TAB]Kennzeichnugsschilder[TAB]20130006\\+HS[TAB]=BS.SF\\-K1

Die Struktur der zu Filternden Textdatei kann ich gestalten wie ich will, ich habe zum sortieren der 95 (ein Plaettchentyp) folgenden Befehl genommen: findstr "95" < TEST\Plaettchen.txt > TEST\Plaettchen\95_tmp.txt

Meine Nutzdaten daraus waren aber alles nach Kennzeichnungsschilder, also quasi 20130006\\+HS[TAB]=BS.SF\\-K1, diese ich mit der Schleife aus Kommentar 1:
for /f "tokens=4*" %%a in (TEST\Plaettchen\95_tmp.txt) do @echo %%a %%b>>TEST\Plaettchen\95.txt
in eine seperate Datei abspeicherte. Somit ist meine Aufgabe zunächst gelöst.

Die Nummern könnten sich aber auch einmal ändern, bsp. ich habe die Zeile:

17[TAB]Plaettchen[TAB]Kennzeichnugsschilder[TAB]20130095\\+HS[TAB]=BS.SF\\-K1

Auch diese Zeile wird von meinem Filter findstr "95" < TEST\Plaettchen.txt > TEST\Plaettchen\95_tmp.txt
erfasst wegen 20130095, wobei der Filterparameter die 17 ist.

Deshalb wollte ich wissen ob ich auch die Tabs mit der Zahl als Zeichenreihenfolge mit auslesen kann. Dies wiederum funktioniert nicht, bzw. ich bekomme es nicht hin. Abhilfe habe ich vorerst mit dem Prinzip geschaffen manche TABs durch _ zu ersetzen:

95_Plaettchen_Kennzeichnugsschilder_20130006\\+HS[TAB]=BS.SF\\-K1

Dadurch kann ich mit findstr "95_" < TEST\Plaettchen.txt > TEST\Plaettchen\95_tmp.txt eine Verwechslung der Werte verhindern, wobei mir der TAB besser gefallen würde.
Bitte warten ..
Mitglied: Endoro
12.06.2013, aktualisiert um 16:47 Uhr
Was hast du für einen Editor?
Mit Notepad++ geht es problemlos.
findstr kann \tabs durchaus erkennen.
Standard zum Durchsuchen ist natürlich grep.
Da kannst du das so eingeben: grep "\b20\b" file.

Gruss!

PS: OMG, da fällt mir ein, das geht mit findstr auch: findstr /r "\<20\>" file, na ja, Kaffeemangel
Bitte warten ..
Mitglied: ginges
13.06.2013 um 08:10 Uhr
Ich nutze den ganz normalen Editor, habe auch kein grep geladen. Die Datei soll im prinzip auch auf anderen Windowsrechnern verwendet werden, also möchte ich mögliche Zusatzsoftware vermeiden.

Aber mit dem Befehl findstr /r "\<20\>" habe ich es gerade ausprobiert und funktioniert jetzt auch mit TAB wunderbar.
Vielen Dank.

Meine Frage noch, ob ich es auch richtig Verstanden habe (will ja auch was dabei lernen)

Durch findsrt /?

findstr /r Zeichenfolge als regulärer ausdruck -> Leerzeilen und TABs,... werden beachtet.
findstr /c Zeichenfolge buchstabengetreu -> Leerzeilen und TABs,... werden nicht beachtet.

Stimmt das so???
Bitte warten ..
Mitglied: Endoro
13.06.2013 um 15:07 Uhr
Hallo ginges,

hier mal ein paar findstr-Beispiele, was so geht:
>type text.txt 
Herz 
Herz und Schmerz 
Herz Schmerz 
Schmerz 
Harz 
 
>findstr "Herz Schmerz" text.txt &rem ODER-suche 
Herz 
Herz und Schmerz 
Herz Schmerz 
Schmerz 
 
>findstr /C:"Herz Schmerz" text.txt &rem GENAUER Text 
Herz Schmerz 
 
>findstr /X "Herz" text.txt &rem GANZE Zeile 
Herz 
 
>findstr /r "^Herz$" text.txt &rem auch GANZE Zeile 
Herz 
 
>findstr /r "H[ea]rz" text.txt  &rem  REGEX Beispiel 
Herz 
Herz und Schmerz 
Herz Schmerz 
Harz 
 
>findstr /C:"Herz Schmerz" /C:"Harz" text.txt &rem 2x GENAUER Text 
Herz Schmerz 
Harz 
 
>findstr /i "herz" text.txt | findstr /i "schmerz"   &rem UND-Suche, gross/klein ignorieren 
Herz und Schmerz 
Herz Schmerz
Gruss!
Bitte warten ..
Mitglied: ginges
13.06.2013 um 17:01 Uhr
Hallo Endoro,

vielen Dank für die Beispielübersicht, das ist auch mal was zum Nachschauen wie ein Befehl funktioniert, Danke.

Was mich noch interessieren würde für was \<x\> steht.

greetz ginges
Bitte warten ..
Mitglied: Endoro
13.06.2013, aktualisiert um 18:46 Uhr
Hallo ginges,

das sagt die Kommandozeilenhilfe dazu:

>findstr /? 
Sucht nach Zeichenfolgen in Dateien. 
 
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:Datei] 
        [/C:Zeichenfolge] [/G:Datei]  [/D:Verz.liste] [/A:Farbattribute] [/OFF[LINE]] 
        Zeichenfolgen [[Laufwerk:][Pfad]Dateiname[ ...]] 
 
  /B    Sucht am Zeilenanfang. 
  /E    Sucht am Zeilenende. 
  /L    Sucht nach dem Text buchstabengetreu. 
  /R    Sucht nach der Zeichenfolge als regulärem Ausdruck. 
  /S    Sucht nach entsprechenden Dateien im aktuellen Verzeichnis 
        und allen Unterverzeichnissen. 
  /I    Ignoriert Groß-/Kleinschreibung. 
  /X    Gibt Zeilen aus, die vollkommen übereinstimmen. 
  /V    Gibt Zeilen aus, die die Zeichenfolge nicht enthalten. 
  /N    Gibt die Zeilennummer vor jeder Trefferzeile an. 
  /M    Gibt nur die Namen der Dateien aus, die die Zeichenfolge enthalten. 
  /O    Gibt den Offset des Zeichens vor jeder gefundenen Zeile aus. 
  /P    Überspringt Dateien mit Zeichen, die nicht gedruckt werden können. 
  /OFF[LINE] Überspringt keine Offlinedateien. 
  /A:Attrib         Gibt die Farbattribute als zwei hexadezimale Ziffern an. 
                    Siehe "COLOR /?" 
  /F:Datei          Liest eine Dateiliste aus der angegebenen Datei ein. 
  /C:Zeichenfolge   Sucht nach Zeichenfolge buchstabengetreu. 
  /G:Datei          Liest Suchzeichenfolge aus der angegebenen Datei ein. 
  /D:Verzeichnis    Durchsucht eine mit Semikolons getrennte Verzeichnisliste. 
  Zeichenfolge      Text, nach dem gesucht werden soll. 
  [Laufwerk:][Pfad] Dateiname 
                    Angabe der zu durchsuchenden Datei(en). 
 
Leerzeichen weisen auf mehrere getrennte Zeichenfolgen hin, außer es wurde /C 
als Option angegeben. Zum Beispiel sucht 'FINDSTR "Windows NT" BR.TXT' nach 
"Windows" oder "NT" in der Datei BR.TXT.  'FINDSTR /C:"Windows NT" BR.TXT' 
hingegen sucht nach "Windows NT" in der Datei BR.TXT. 
 
Schnellübersicht regulärer Ausdrücke: 
  .         Platzhalter: beliebiges Zeichen 
  *         Wiederholung: keine oder mehrere Wiederholungen 
            des/der vorhergehenden Zeichens/Klasse 
  ^         Zeilenposition: Anfang der Zeile 
  $         Zeilenposition: Ende der Zeile 
  [Klasse]  Zeichenklasse: beliebiges Zeichen aus einem Zeichensatz 
  [^Klasse] Umgekehrte Klasse: beliebiges Zeichen nicht im Zeichensatz 
  [x-y]     Bereich: beliebige Zeichen im angegebenen Bereich 
  \x        Escape: direkte Verwendung eines Metazeichens x 
  \<xyz     Wortposition: am Anfang des Wortes 
  xyz\>     Wortposition: am Ende des Wortes 
 
Informationen zu FINDSTR mit regulären Ausdrücken finden Sie im 
Onlinebefehlsverzeichnis.
Wie du siehst, kannst du dir Ergebnisse sogar bunt anzeigen lassen

Gruss!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Textdatei Zeile für Zeile auslesen
Frage von RIPUEDBatch & Shell

Hallo, ich würde gerne mit einem Batch-Skript Zeilen aus einer Textdatei einzeln und nacheinander auslesen und diese dann nach ...

Ausbildung
Nummerierung jeder Zeile in einer Textdatei
gelöst Frage von MihailAusbildung4 Kommentare

Guten Tag sehr geehrten Admins, Ich versuche seit einer Weile, als absoluter Anfänger eine batch-Datei zu finden die, wie ...

VB for Applications
VBS-Entfernen von Zeilen in einer Textdatei
Frage von Calim3roVB for Applications5 Kommentare

Hallo zusammen Ich möchte aus einer Textdatei Zeilen entfernen. Ich habe drei Dateien, in Datei "A" stehen Wörter, in ...

VB for Applications
Jede Zeile einer Textdatei bis zum Trennzeichen durchsuchen
gelöst Frage von karolsonVB for Applications6 Kommentare

Hallo an alle, Ich möchte mit VBA eine 50MB große Textdatei nach einer Zeichenkette durchsuchen und einige Begriffe aus ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 20 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 23 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 5 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows 10
Probleme mit Dateien, deren Pfad + Dateiname länger als 256 Zeichen sind
Frage von FalaffelWindows 1011 Kommentare

Guten Tag, unter Windows 10 scheint es immer noch das Problem zu geben, dass der Pfad + Dateiname einer ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...