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 findstr bestimmte Zeile auslesen

Mitglied: corpse2001

corpse2001 (Level 1) - Jetzt verbinden

04.12.2006, aktualisiert 05.12.2006, 36801 Aufrufe, 8 Kommentare, 1 Danke

hallo

ich möchte aus mehreren scriptdateien ein Wort auslesen und zwar in der 6 Zeile und das Wort steht immer zwischen anführungszeichen also so "wort" und möchte dieses gerne
über einen Batch machen mit findstr habe aber keine ahung wie.
hoffe ihr könnt mir helfen.

mfg corpse2001
Mitglied: Dani
04.12.2006 um 09:59 Uhr
Guten Morgen,
dann mach ich mal den Anfang:
01.
for /f "delims=" %%i in ('findstr "wort" c:\\text.txt') do echo %%i"
Gruß
Dani
Bitte warten ..
Mitglied: corpse2001
04.12.2006 um 10:02 Uhr
danke für die antwort aber wo legst du denn die zeile fest in der er suchen soll?
und kann ich irgentwie sagen von " bis " und das dazwischen soll er auslesen?
Bitte warten ..
Mitglied: Biber
04.12.2006 um 10:09 Uhr
Moin corpse,

ich hatte es so verstanden, dass das gesuchte "wort" in Anführungszeichen unbekannt ist.

Dann wäre folgende Skizze ein Anfang:
Die Text-Datei knorpsel.txt
01.
[zitat] 
02.
ich möchte aus mehreren scriptdateien  
03.
ein Wort auslesen  
04.
und zwar in der 6 Zeile  
05.
und das Wort steht immer zwischen anführungszeichen  
06.
also so "wort" und möchte dieses gerne über einen Batch machen  
07.
mit findstr habe aber keine ahung wie. 
08.
hoffe ihr könnt mir helfen.
Die Batchdatei "corpse2.bat" dazu (mit einem Parameter Name-der-Textdatei):
01.
@echo off & setlocal enableDelayedExpansion 
02.
for /f "delims=" %%i in ('findstr /n . "%~1"^|findstr "^6:"') do @set ln6=%%i & Call:s !ln6:*"="! & Goto :eof 
03.
:s 
04.
@echo %~1 
Das Ergebnis:
01.
>corpse2 knorpsel.txt 
02.
wort
Was mich rein menschlich interessieren würde:
Wie kommt ihr auf solche abstrusen Anforderungsphantasien wie "mit Batch und findstr ein Wort in Anführungszeichen aus der 6. Zeile einer Datei rausflöhen", wenn ihr gar nicht wisst, ob Batch oder FindStr überhaupt für so etwas auch nur im Ansatz geeignet sind???

Biber,
der manchmal froh ist, gar nicht alle Ab- und Hintergründe so genau zu kennen
Bitte warten ..
Mitglied: Dani
04.12.2006 um 10:10 Uhr
Hi,
Sorry, hab ich vergessen! So werden mal 5 Zeilen übersprungen!
01.
for /f "delims=  skip=5" %%i in ('findstr "wort" c:\\text.txt') do ( 
02.
   echo %%i 
03.
   break 
04.
)
Ist zwar nicht ganz so "schön" aber so müsste es gehen! Er läuft nur durch die Zeile 6. Durch das "break" wird die Schleife abgebrochen!


Gruß
Dani
Bitte warten ..
Mitglied: corpse2001
05.12.2006 um 09:11 Uhr
cool danke also das von biber hat funktioniert!
ich weiss allerdigs nicht so genau wieso das funktioniert so ganz blicke ich da nicht durch könntest du das vielleicht erklären.

und dann habe ich noch ne proble ich wollte nun anstatt eine datei auslesen mehrere auslesen die datei nahmen stehen alle in einer textdatei

also ich habe das so versucht:

setlocal enableDelayedExpansion
set liste=U:\Lancom\scriptnamen.txt
for /f "delims=" %%i in ('findstr /n . "%liste%"^|findstr "^6:"') do @set ln6=%%i & Call:s !ln6:*"="! & Goto :eof
:s
@echo %~1 >>Routernamen.txt

dann schreibt er aber nur ECHO ist eingeschaltet (ON). einmal in die Routernamen.exe
Bitte warten ..
Mitglied: Biber
05.12.2006 um 09:51 Uhr
Moin corpse2001,

im Erklären bin ich leider nicht so gut, aber ich versuche es mal.
Sind ja gottseidank nicht so viele Zeilen.
01.
[1]@echo off & setlocal enableDelayedExpansion 
02.
[2]for /f "delims=" %%i in ('findstr /n . "%~1"^|findstr "^6:"') do @set ln6=%%i & Call:s !ln6:*"="! & Goto :eof 
03.
[3]:s 
04.
[4]@echo %~1 
Zeile [1] Interessanter als das "@echo off" ist das "Setlocal EnableDelayedExpansion"
"Setlocal"== alle Variablen, die ich neu anlege, existieren auch nur solange der Batch rennt.
"EnableDelayedExpansion" erlaubt die "verzögerte Variablenauflösung" oder, weniger schwülstiger ausgedrückt, dass ich in einer Batchzeile einer Variable einen neuen Wert zuweise und sofort damit weiter"rechnen" kann.
Normalerweise wäre der "neue" Variablenwert erst in der nächsten Zeile, beim nächsten Befehl verwendbar.
Wenn ich solche frisch zugewiesenen Variablen ansprechen will, muss ich die Variablen mit der Syntax !var! statt %var% ansprechen.
Zeile [2] FOR /F-Anweisungen immer von INNEN nach AUSSEN lesen.
INNEN ist die Klammer ...('findstr /n . "%~1"^|findstr "^6:"').
Zuerst ein findstr /n . "%~1". Übersetzt in etwa: Erzeuge eine Liste aller Zeilen der Datei "%1" mit Zeilennummern vorweg.
Dieses Ergebnis weiterreichen an findstr "^6:". Übersetzt: Suche mir daraus alle Zeilen, die mit "6:" beginnen.
Is' nur eine. Die Zeile 6 halt.
AUSSEN: Diese eine Zeile 6 wirs as is in die Variable %ln6% geschrieben (set ln6=%%i). "ln6" steht natürlich nur für neudeutsch "zeile6".
Danach rufe ich einen Sub-Block ":s" auf (Call:s), gebe dem als Parameter noch die nachbehandelte neue Variable %ln6% mit, in der ich alles VOR dem ersten Anführungszeichen durch "Nichts" ersetze.
Und schon bin ich feddich mit der Zeile und sage entsprechend goto :eof (In etwa: "Reicht für heute").
Zeile [3] Die Einsprungadresse meines geCALLeden Sub-Blocks
Zeile [4] Mach mir dat Echo mit dem ersten Parameter, der wo reinkommt. Mit ohne Anführungszeichen.

That's all.

Deine neue Anforderung erfordert noch eine kleine FOR /F-Anweisung aussen herum, mehr nicht. Ungetestet:
01.
setlocal enableDelayedExpansion 
02.
set liste=U:\Lancom\scriptnamen.txt 
03.
FOR /f "delims=" %%x in (%liste%) do ( 
04.
   for /f "delims=" %%i in ('findstr /n . "%%~x"^|findstr "^6:"') do @set ln6=%%i & Call:s !ln6:*"="!  
05.
06.
Goto :eof 
07.
:s 
08.
@echo %~1 >>Routernamen.txt
So oder so ähnlich müsste es aussehen.

Wenn Deine Ausgangsfrage beantwortet ist, dann setz bitte so ein grünes Häkchen.

Gruß
Biber
Bitte warten ..
Mitglied: corpse2001
05.12.2006 um 13:07 Uhr
ah danke danke das funktioniert wunderbar
Bitte warten ..
Mitglied: Biber
05.12.2006 um 13:29 Uhr
das funktioniert wunderbar
Freut mich. Dann geh auch bitte auf Deine Eröffnungsfrage, wähle "Editieren" und setze den Beitrag auf "gelöst".

Auf "gelöst" setzen sollte schon der Fragesteller, wenn das Problem gegessen ist.
Umgekehrt ist es mir ich als Mod in diesem Bereich unlieb, Beiträge mit einem grünem Haken zu versehen, wenn ich mich selbst an der Lösungssuche beteiligt habe.

Danke
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Bestimmte Zeile einer Textdatei mit Batch auslesen

gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Batch & Shell

Bestimmte CMD Zeile aus Batch auslesen

gelöst Frage von BatchAnfaenger91Batch & Shell5 Kommentare

Hallo ihr Lieben, habe seit dem neusten Batch Sprache kennengelernt und bin dabei ein Batch Skript zu schreiben ich ...

Batch & Shell

Batch Zeile für Zeile auslesen und jede Zeile eine bestimmte Variable zuweisen

gelöst Frage von CerauxBatch & Shell4 Kommentare

Hallo, ich habe schon überall gesucht und noch nichts gefunden wie man Zeilen bestimme Variablen zuweist. Zum Beispiel: file.txt: ...

Batch & Shell

Übergabe einer Zeile die vor der per findstr gefundenen Zeile liegt

gelöst Frage von 2nd.level.noobieBatch & Shell9 Kommentare

Aaaalso erstmal ein freundliches Hallo und wie gehts. Ich nutze euer Forum seit ein paar Tagen für Recherchen bezüglich ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 1 TagAusbildung32 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 3 TagenSpeicherkarten4 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 4 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Ausbildung
Linux-Ausstieg in Niedersachsen - Windows statt Bugfix
Information von StefanKittelAusbildung30 Kommentare

Sind ja nur Steuergelder

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware19 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Windows 10
Windows 10 Spracherkennung - Eure Meinungen?
Frage von honeybeeWindows 1014 Kommentare

Hallo, wollte heute mal aus Neugier die Spracherkennung unter Windows 10 (Version 1803) ausprobieren und war mehr wie enttäuscht. ...

Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung13 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...