Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Inhalte aus einem Textfile auslesen und in eine neue Datei kopieren

Frage Microsoft

Mitglied: MaPick

MaPick (Level 1) - Jetzt verbinden

30.07.2009, aktualisiert 22.10.2009, 4739 Aufrufe, 12 Kommentare

Für gestandene Scripter bestimmt kein Problem.....

Hallo Leute

Ich müsste aus einem textfile mit folgendem Inhalt nur den Bereich, welchen ich fett und kursiv formatiert habe, auslesen und in eine neue Datei einfügen.


There are 1 interfaces in the system.
Interface 0:
GUID: 2d7c71b3-5738-4d81-bedd-41957fa6004c
Dell Wireless 1490 Dual Band WLAN Mini-Card - Deterministic Network Enhancer Miniport
State: "authenticating"

Command "ei" completed successfully.


Ich bekomme es zwar hin nur die Zeile auszulesen, aber mit einem von-bis komme ich nicht klar.

Vielen Dank für eure Mühe

Gruß
MaPi
Mitglied: bastla
30.07.2009 um 11:13 Uhr
Hallo MaPick!

Etwa so:
01.
@echo off & setlocal 
02.
set "Ein=D:\Textfile.txt" 
03.
set "Aus=D:\NurGUID.txt" 
04.
 
05.
for /f "tokens=1*" %%i in ('findstr /b /c:"GUID: " "%Ein%"') do >"%Aus%" echo %%j
Getrennt wird übrigens am ersten Leerzeichen der Zeile ...

Grüße
bastla

[Eidt] Suchstring noch um Leerzeichen erweitert [/Edit]
Bitte warten ..
Mitglied: MaPick
30.07.2009 um 12:17 Uhr
Wie ist das bitte gemeint: Suchstring erweitern.....
Bitte warten ..
Mitglied: bastla
30.07.2009 um 12:25 Uhr
Hallo MaPick!
Wie ist das bitte gemeint: Suchstring erweitern.....
Ich habe den Suchstring (= der Text, anhand dessen die entsprechende Zeile gefunden werden soll = "GUID: ") um das Leerzeichen am Ende erweitert (etwa 1 Minute 16 Sekunden nach dem Posten des Kommentars ) ...

Grüße
bastla
Bitte warten ..
Mitglied: MaPick
30.07.2009 um 12:32 Uhr
Ich habe die Variablen durch meine ersetzt und die Batch ausgeführt..... nichts passiert
Es wird keine Datei erzeugt.
Bitte warten ..
Mitglied: bastla
30.07.2009 um 12:42 Uhr
Hallo MaPick!

Eine Datei wird nur erzeugt, wenn der Suchstring mit der exakt gleichen Schreibweise am Beginn der Zeile steht (wie in Deinen Beispieldaten oben) ...

Wie sah denn der Code aus, mit dem Du bereits die Zeile auslesen konntest?

Grüße
bastla
Bitte warten ..
Mitglied: MaPick
30.07.2009 um 12:50 Uhr
Hi bastla,

ich habe den Ansatz mit der einzelnen Zeile erst mal nicht weiterverfolgt.
Ich dachte mir das dieses auch direkt mit der originalen Datei funktioniert.
Liegt das evtl. daran das im originalen Export File vor GUID: noch ein Tab drin ist.

Habe vor GUID: mal ein Tab eingebaut. Jetzt wird die Datei erzeugt
Aber in der Datei steht nur %j und ich bräuchte ja den Wert hinter GUID:

Gruß
MaPi
Bitte warten ..
Mitglied: bastla
30.07.2009 um 12:55 Uhr
Hallo MaPick!

Sorry, das zweite Prozentzeichen vor dem "j" scheint irgendwo auf der Strecke geblieben zu sein - ich korrigiere es oben auch noch ...

... außerdem muss dann das Trennzeichen noch genau spezifiziert werden:
for /f "tokens=1* delims= " %%i in ('findstr /b /c:"GUID: " "%Ein%"') do >"%Aus%" echo %%j
Grüße
bastla
Bitte warten ..
Mitglied: MaPick
30.07.2009 um 13:02 Uhr
Hi,

habe den ersten Fehler gefunden. Du hast %%i geschrieben und dann im Output %%j.
So weit so gut.
Aber im Output File steht jetzt GUID:
Mir geht es aber nur um den Wert dahinter 2d7c71b3-5738-4d81-bedd-41957fa6004c

Gruß
MaPi
Bitte warten ..
Mitglied: bastla
30.07.2009 um 13:07 Uhr
Hallo MaPick!

Würdest Du bitte das Korrigieren von Fehlern mir überlassen und das "falsche" %%j wieder eintragen ...

Grüße
bastla
Bitte warten ..
Mitglied: MaPick
30.07.2009 um 13:13 Uhr
Hi,
du bist der Chef
Mit deiner Ergänzung funktioniert es nun auch.
Sollte nicht besserwisserich rüber kommen, sorry.

Gruß
MaPi
Bitte warten ..
Mitglied: bastla
30.07.2009 um 13:21 Uhr
Hallo MaPick!

Kein Problem - nur eine Verzögerung (und ich hatte noch kein Mittagessen) ...

Grüße
bastla
Bitte warten ..
Mitglied: MaPick
30.07.2009 um 14:07 Uhr
Hier nun mal das komplette Kunstwerk:

rem --------------Enumerate Wireless Interface and export to ei.txt-------------

wlan ei >> c:\windows\temp\wlan\ei.txt

echo off--------------Copy GUID ID from ei.txt to guid.txt--------------------

setlocal
set "Ein=c:\Windows\temp\wlan\ei.txt"
set "Aus=c:\Windows\temp\wlan\guid.txt"
for /f "tokens=1* Delims= " %%i in ('findstr /b /c:" GUID: " "%Ein%"') do >"%Aus%" echo %%j

echo off--------------Setup Wireless Interface with nw1.xml----------------

for /f %%i in (GUID.txt) do set GUID=%%i
wlan sp %GUID% c:\windows\temp\wlan\nw1.xml

echo off-------------Export Wireless Profile List to gpl.txt---------------

wlan gpl %GUID%>>gpl.txt

Jetzt versuche ich noch eine Abfrage der erzeugten gpl.txt.
Diese soll bei nicht vorhanden sein des WLAN Profiles NW über blat.exe eine Mail an mich schicken.
Dafür muss ich ja irgendwie eine IF Abfrage basteln.

Der Inhalt der gpl.txt sieht so aus:

There are 1 profiles on the interface.
"NW"
Command "gpl" completed successfully.


Kannst du mir da evtl auch weiter helfen?

Gruß
MaPi
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
Bash Script soll neue Datei erzeugen (2)

Frage von SpeakerST zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...