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

Mehrere Wörter, Zeichen aus einer Textdatei löschen

Frage Entwicklung Batch & Shell

Mitglied: Seelbreaker

Seelbreaker (Level 1) - Jetzt verbinden

29.11.2011 um 11:26 Uhr, 4814 Aufrufe, 5 Kommentare

Moin, da dies in einer WINPE Umgebung umgesetzt werden muss, bleiben mir leider nur die Batch, zusätzliche Programme die in der Batch gestartet werden könne, kann ich aber beim Start des PE von einem Share nachladen

Ich habe folgende Textdatei mit folgendem Inhalt:

01.
SYSTEM_PROD_DATA.SysInfoSerialNum=06PCZ16 
02.
SYSTEM_PROD_DATA.SysInfoUUID=C911A40C0BEA11E1A21E5CF3FC7AC074 
03.
iSCSI.MacAddress.1=00-10-18-B7-7E-28 
04.
iSCSI.MacAddress.2=00-10-18-B7-7E-2A 
05.
iSCSI.MacAddress.3=00-10-18-B7-7E-2C 
06.
iSCSI.MacAddress.4=00-10-18-B7-7E-2E 
07.
iSCSI.MacAddress.5=5C-F3-FC-7A-C0-74 
08.
iSCSI.MacAddress.6=5C-F3-FC-7A-C0-76
Ich habe bisher immer nur das Löschen von Zeilen gefunden, was ich selber schon angewendet habe, da bei jeder Ausgabe dieser Informationen noch 3 Zeilen unnötiger Mist drinstand.

Jetzt wäre es natürlich am besten, wenn ich die Wörter vor den jeweiligen Informatione (SN, UUID und MAC-Adresse) löschen könnte. Habe gestern schon 2 Stunden lang rumprobiert mit for schleifen, find, findstr (Bei type in Verbindung mit einer Pipe zu find, hieß es nur %% kann syntaktisch nicht verwendet werden).

Bin aber zu nix gekommen, sodass ich aufgehört habe. Deshalb wende ich mich an euch liebe Community

Gibt es irgendeine Möglichkeit die unnötigen Infos (Der ganze Text vor der SN, UUID und die "-" in den MAC-Adressen) automatisiert löschen zu lassen? Das muss aus einer Batch heraus funktionieren, da ich diese Infos bei der Einrichtung von mehreren Blade-Servern erhalte und ich froh bin, dass ich diese Infos schon so "sauber" bekomme.

Gruß
Seelbreaker
Mitglied: Skyemugen
29.11.2011 um 11:54 Uhr
Aloha,

naja, wenn du mit
01.
for /f "usebackq tokens=2-7 delims==-" %%s in ("testdatei.txt") do >>"neue_testdatei.txt" echo %%s%%t%%u%%v%%w%%x
arbeitest, sollte das Ergebnis doch so rauskommen, wie du es möchtest, oder?

greetz André

POC:
E:\Skripte>for /F "usebackq tokens=2-7 delims==-" %s in ("testdatei.txt") do ech 
o %s%t%u%v%w%x 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 06PCZ16 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo C911A40C0BEA11E1A21E5CF3FC7AC074 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 001018B77E28 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 001018B77E2A 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 001018B77E2C 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 001018B77E2E 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 5CF3FC7AC074 1>>"neue_testdatei.txt" 
 
E:\Skripte>echo 5CF3FC7AC076 1>>"neue_testdatei.txt" 
 
E:\Skripte>type "neue_testdatei.txt" 
06PCZ16 
C911A40C0BEA11E1A21E5CF3FC7AC074 
001018B77E28 
001018B77E2A 
001018B77E2C 
001018B77E2E 
5CF3FC7AC074 
5CF3FC7AC076 
 
E:\Skripte>pause 
Drücken Sie eine beliebige Taste . . .
@Friemler, was ein Aufwand
Bitte warten ..
Mitglied: Friemler
29.11.2011 um 12:07 Uhr
Hallo Seelbreaker,

teste mal folgendes:
01.
@echo off & setlocal 
02.
 
03.
set "InFile=D:\test.txt" 
04.
set "OutFile=D:\test_out.txt" 
05.
 
06.
 
07.
(for /f "tokens=1,* delims=:" %%a in ('findstr /n "$" "%InFile%"') do ( 
08.
   for /f "tokens=1,* delims==" %%c in ("%%b") do ( 
09.
     if %%a gtr 2 ( 
10.
       for /f "tokens=1-6 delims=-" %%e in ("%%d") do ( 
11.
         echo\%%e%%f%%g%%h%%i%%j 
12.
13.
     ) else ( 
14.
       echo\%%d 
15.
16.
17.
18.
) > "%OutFile%"
Die Zeilen 3 und 4 musst du anpassen. Das Script extrahiert die reinen Informationen aus der Eingabedatei, von deinen Beispieldaten würde also nur folgendes übrigbleiben:
06PCZ16 
C911A40C0BEA11E1A21E5CF3FC7AC074 
001018B77E28 
001018B77E2A 
001018B77E2C 
001018B77E2E 
5CF3FC7AC074 
5CF3FC7AC076
Gruß
Friemler


[EDIT]
Zitat von Skyemugen:
@Friemler, was ein Aufwand

Oder Du nimmst die Kurz-Und-Schmerzlos-Lösung von Skyemugen.
[/EDIT]
Bitte warten ..
Mitglied: Seelbreaker
29.11.2011 um 12:35 Uhr
Zitat von Skyemugen:
Aloha,

naja, wenn du mit
01.
for /f "usebackq tokens=2-7 delims==-" %%s in ("testdatei.txt") do 
02.
> >>"neue_testdatei.txt" echo %%s%%t%%u%%v%%w%%x
arbeitest, sollte das Ergebnis doch so rauskommen, wie du es möchtest, oder?

greetz André


Sowas "kurzes" wäre super, wenn nicht das Problem mit der syntaktischen Stelle wäre:
01.
C:\>for /f "usebackq tokens=2-7 delims==-" %%s in ("testdatei.txt") do >>"neue_testdatei.txt" echo %%s%%t%%u%%v%%w%%x 
02.
"%%s" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
Das bekomme ich wenn ich es aus der CMD ausführe.

Wenn ich es aber als test.cmd speicher und ausführe, dann funktionierts... wieso den das? So hätte ich mir gestern vielleicht 2 Stunden rumprobierei sparen können

Vielen Dank dennoch! Ich teste das gleich mal mit einem Blade und melde mich ob es so für mich erfolgreich ist!
Bitte warten ..
Mitglied: Skyemugen
29.11.2011 um 13:12 Uhr
Aloha,

aus dem cmd geht auch nicht mit so viel Alkohol

Schau dir mal den Inhalt der Batch an und die Ausgabe (mein POC) des cmd - was fällt dir bei den Laufvariablen auf

greetz André
Bitte warten ..
Mitglied: Seelbreaker
29.11.2011 um 14:41 Uhr
Moin,

Habe es vorhin in nem anderen Thread gesehen

%% in Batch und % in cmd.

Wenn ich das aber nicht irgendwie gesehen hätte, wärs mir nie aufgefallen. Dafür bleibt mir das Wissen jetzt erstmal ne zeitlang ;)

Vielen Dank!

PS: Habe übrigens deine Version genommen, weils kürzer war ;)

Trotzdem auch ein danke an Friemler, hatte schon befürchtungen, dass ich von allen Seiten in der Luft zerrissen werde

Gruß
Seel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Batch & Shell
Mehrere lokale Drucker löschen (4)

Frage von Tealk144 zum Thema Batch & Shell ...

Grafik
Mehrere PDF-Dateien Wörtern durchsuchen (2)

Frage von Emheonivek zum Thema Grafik ...

Neue Wissensbeiträge
Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(25)

Information von SeaStorm zum Thema Utilities ...

Windows Server

Exchange Server 2016 Probleme auf Server 2016 mit iOS 11 Mailapp

Information von Oneplus zum Thema Windows Server ...

Internet

Pirate Bay lässt heimlich Krypto-Miner auf Nutzer-PCs laufen

(5)

Information von BassFishFox zum Thema Internet ...

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

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

Utilities
CCleaner 5.33 mit Malware infiziert (24)

Information von SeaStorm zum Thema Utilities ...

JavaScript
gelöst Kopierschutz auf Webseite (13)

Frage von honeybee zum Thema JavaScript ...

Windows Server
Änderung Subnetz an AD Standort (13)

Frage von hansdampf zum Thema Windows Server ...