ortnerbeni
Goto Top

Aus Textdatei Zeilen löschen mit Bat oder VBS

Hallo zusammen,

ich habe folgendes Problem.

Ich habe einen txt Datei die so aussieht:

Dateiname: sb-p-ghost.hji.local.sw_Software_.txt
(Computername)(Domäne)(Bezeichnung)
ist aber egal.

[Notepad++]
displayversion = 5.3.1
binaryname = C:\\Programme\\Notepad++\\updater\\GUP.exe
displayname = Notepad++
installsize = 6828032
uninstallstring = C:\\Programme\\Notepad++\\uninstall.exe

[InstallWIX_{8F023021-A7EB-45D3-9269-D65264C81729}]
displayversion = 6.0.4.1212
binaryname = C:\\Programme\\Kaspersky Lab\\Kaspersky Anti-Virus 6.0 for Windows Workstations MP4\\avp.exe
displayname = Kaspersky Anti-Virus 6.0 for Windows Workstations
installsize = -1
uninstallstring = MsiExec.exe /I{8F023021-A7EB-45D3-9269-D65264C81729}

[KB938127-IE7]
displayversion = 1
binaryname =
displayname = Sicherheitsupdate für Windows Internet Explorer 7 (KB938127)
installsize = -1
uninstallstring = \"C:\\WINDOWS\\ie7updates\\KB938127-IE7\\spuninst\\spuninst.exe\"

[KB923789]
displayversion =
binaryname =
displayname = Sicherheitsupdate für Windows XP (KB923789)
installsize = -1
uninstallstring = C:\\WINDOWS\\system32\\MacroMed\\Flash\\genuinst.exe C:\\WINDOWS\\system32\\MacroMed\\Flash\\KB923789.inf


(ist nur ein kleiner ausschnitt)

Ich möchte das ich alles herauslösche bis auf den Text nach "displayname = ".

Hab schon eine Bat:

_________________________________________________________
find /v /i "binaryname" < "C:\Opsi_Excel\sb-l-601.hji.local.sw_Software_.txt" > "C:\Opsi_Excel\1.txt"
find /v /i "installsize" < "C:\Opsi_Excel\1.txt" > "C:\Opsi_Excel\2.txt"
find /v /i "displayversion" < "C:\Opsi_Excel\2.txt" > "C:\Opsi_Excel\3.txt"
find /v /i "uninstallstring" < "C:\Opsi_Excel\3.txt" > "C:\Opsi_Excel\4.txt"
find /v /i "[" < "C:\Opsi_Excel\4.txt" > "C:\Opsi_Excel\5.txt"
find /v /i "[displayname = ]" < "C:\Opsi_Excel\5.txt" > "C:\Opsi_Excel\sb-l-601_Software.txt"


del C:\Opsi_Excel\1.txt /S /Q
del C:\Opsi_Excel\2.txt /S /Q
del C:\Opsi_Excel\3.txt /S /Q
del C:\Opsi_Excel\4.txt /S /Q
del C:\Opsi_Excel\5.txt /S /Q



____________________________________________________________

Ergebnis:

displayname = Notepad++
displayname = Kaspersky Anti-Virus 6.0 for Windows Workstations
displayname = Sicherheitsupdate für Windows Internet Explorer 7 (KB938127)
displayname = Sicherheitsupdate für Windows XP (KB923789)


Wie bekomme ich den Teil "displayname= " weg...?


2.Frage

Wenn ich mehrere solche txt Datei habe, die sich in einem Ordner befinden kann ich dann alle in einer bat so "formatieren"...?

Habe:

sb-p-418.hji.local.sw_Software_.txt
sb-p-ghost.hji.local.sw_Software_.txt
sb-l-601.hji.local.sw_Software_.txt
sb-p-xptest.hji.local.sw_Software_.txt
sd-l-110.hji.local.sw_Software_.txt


Diese Files befinden sich im selben Ordner.

Bitte um Hilfe.

Danke

Mit freundlichen Grüssen

Benni

Content-ID: 140202

Url: https://administrator.de/forum/aus-textdatei-zeilen-loeschen-mit-bat-oder-vbs-140202.html

Ausgedruckt am: 22.12.2024 um 18:12 Uhr

bastla
bastla 09.04.2010 um 09:00:26 Uhr
Goto Top
Hallo ortnerbeni und willkommen im Forum!

Eigentlich sollte sich die Suche ja "positiv" formulieren lassen, also etwa:
findstr /b /c:"displayname = " "sb-p-ghost.hji.local.sw_Software_.txt"
Wenn das funktioniert, und damit alle Dateien eines Ordners (oder nur Tetdateien, deren Name mit "s" beginnt) erfasst werden, könnte ein (ungetesteter) Batch etwa so aussehen:
@echo off & setlocal
set "Ordner=D:\SW-Info"  
set "Maske=s*.txt"  
set "Ergebnis=C:\Opsi_Excel\sb-l-601_Software.txt"  

del "%Ergebnis%" 2>nul  
for %%i in ("%Ordner%\%Maske%") do for /f "tokens=2*" %%a in ('findstr /b /c:"displayname = " "%%i"') do >>"%Ergebnis%" echo %%b  
Grüße
bastla
ortnerbeni
ortnerbeni 09.04.2010 um 09:08:47 Uhr
Goto Top
Danke für die schnelle Hilfe..!

Dieses Script funktioniert sehr gut:

@echo off & setlocal
set "Ordner=D:\SW-Info"  
set "Maske=s*.txt"  
set "Ergebnis=C:\Opsi_Excel\sb-l-601_Software.txt"  

del "%Ergebnis%" 2>nul  
for %%i in ("%Ordner%\%Maske%") do for /f "tokens=2*" %%a in ('findstr /b /c:"displayname = " "%%i"') do >>"%Ergebnis%" echo %%b**  
aber es filtert nur aus "sb-l-601.hji.local.sw_Software_.txt" oda..?

Wen es aus alle filtert kann man das ändern das alles in eine txt geschrieben wird.

am besten währe es wenn aus sb-l-601 gefiltert wird und wieder nach sb-l-601.txt gespeichert wird
und aus sb-p-ghost -> sb-p-ghost

Aus 1 txt filtern und wieder speichern

dann aus der 2ten txt filtern und speichern


Grüße
Benni

[Edit Biber] Codetags nachgetragen. [/Edit]
bastla
bastla 09.04.2010 um 09:40:41 Uhr
Goto Top
Hallo ortnerbeni!
aber es filtert nur aus "sb-l-601.hji.local.sw_Software_.txt" oda..?
Nur, wenn ich etwas falsch gemacht oder Du nur diese eine mit "s" beginnende Textdatei im Ordner hattest ...

Jede Datei zu behalten und nur auf den gewünschten Inhalt zu reduzieren sollte etwa so zu machen sein:
@echo off & setlocal
set "Ordner=D:\SW-Info"  
set "Maske=s*.txt"  

for %%i in ("%Ordner%\%Maske%") do (  
    move "%%i" "%temp%\%%~nxi"  
    for /f "tokens=2*" %%a in ('findstr /b /c:"displayname = " "%temp%\%%~nxi"') do >>"%%i" echo %%b  
    del "%temp%\%%~nxi"  
)
Achtung - in dieser Fassung werden die Dateien im Ordner %Ordner% überschrieben! Wenn Du die Zeile 8 weg lässt, verbleibt allerdings das Original (als Sicherung) im Ordner %temp% ...

Grüße
bastla
ortnerbeni
ortnerbeni 09.04.2010 um 09:56:27 Uhr
Goto Top
wow

super danke....

funktioniert super....

also du kenst dich aus mit batch..

mfg

benni
bastla
bastla 09.04.2010 um 10:01:01 Uhr
Goto Top
Hallo ortnerbeni!
funktioniert super....
Freut mich face-smile ...
also du kenst dich aus mit batch..
Ich arbeite zumindest daran ... face-wink

Grüße
bastla
ortnerbeni
ortnerbeni 09.04.2010 um 10:14:20 Uhr
Goto Top
Hallo bastla...

eine kleine Frage habe ich noch..?

In den Fertigen txt Daten sind manchmal "ECHO ist ausgeschaltet (OFF)." Zeilen..?

Das kommt wen die Zeile schon Leer war oda..?

Kann man die wegmachen..?

Mfg
Benni
Biber
Biber 09.04.2010 um 10:18:32 Uhr
Goto Top
Moin ortnerbeni,

willkommen im Forum.

In den Fertigen txt Daten sind manchmal "ECHO ist ausgeschaltet (OFF)." Zeilen..?
Das kommt wen die Zeile schon Leer war oda..?
Ja. nee. Oda doch.
Kann man die wegmachen..?
Ja.
Ersetze das " echo %%b" in Zeile 7 durch ein "echo\%%b"

Grüße
Biber
ortnerbeni
ortnerbeni 09.04.2010 um 10:56:23 Uhr
Goto Top
Hallo Biber

Hatt super geklappt.

Danke

Mfg

Benni
ortnerbeni
ortnerbeni 09.04.2010 um 11:56:32 Uhr
Goto Top
Hallo Forum...

Hab noch eine Frage zu einem anderen txt. File.

Das so aussieht:

[COMPUTER_SYSTEM_0]
totalphysicalmemory = "536330240" (Die Zahl 3 mal durch 1024 un man hat sie in GB)
vendor = "Microsoft Corporation"
name = "SB-P-XPTEST"
systemtype = "X86-based PC"
serialnumber = ""
model = "Virtual Machine"
description = "AT/AT COMPATIBLE"

[PROCESSOR_0]
vendor = "GenuineIntel"
name = "Intel(R) Pentium(R) 4 CPU 1.80GHz"
family = "Unknown"
addresswidth = 32
socketdesignation = "XU1 PROCESSOR"
description = "x86 Family 15 Model 1 Stepping 2"
serialnumber = "3FEBFBFF00000F12"
architecture = "x86"
maxclockspeed = 1794000000
voltage = 2.000000
currentclockspeed = 1794000000
model = ""
extclock = 400000000


[HARDDISK_DRIVE_0]
size = "80023749120" (Die Zahl 3 mal durch 1024 un man hat sie in GB)
vendor = "(Standardlaufwerke)"
name = "FUJITSU MHW2080BJ G2"
sectors = "156296385"
serialnumber = ""
heads = 255
cylinders = "9729"
model = "FUJITSU MHW2080BJ G2"
partitions = 3
description = "Laufwerk"


Möchte gerne nur die Fetten Teile der Textdatei Filtern aber wie..?

Danke

Mfg Benni
bastla
bastla 09.04.2010 um 12:40:15 Uhr
Goto Top
Hallo ortnerbeni!
Möchte gerne nur die Fetten Teile der Textdatei Filtern aber wie..?
Gleiches Prinzip wie oben, nur dass Du alle Suchbegriffe in einer Datei zusammenfassen (jeden Begriff in einer eigenen Zeile angeben) und anstelle von "/c:" dann "/g:" verwenden solltest (siehe "findstr /?") ...

Grüße
bastla
Biber
Biber 09.04.2010 um 12:41:23 Uhr
Goto Top
Tja, ortnerbeni,

Möchte gerne nur die Fetten Teile der Textdatei Filtern aber wie..?
Ich kenn mich da auch nicht so aus, aber ein oft praktizierter Ansatz bei der Implementierung ist, dass derjenige, der versucht einen automatisierbaren Prozess zu etablieren zunächst eine verbale Beschreibung, ein Wenn-Dann-Regelwerk für den Ablauf zu erstellen.

Da Batch- oder VBS-Skripte mit unformatiertem Text arbeiten ist es schwierig, denen einen Ausdruck mit ein paar fettgedruckten Zeilen unter die virtuellen Augen zu halten und zu sagen: "Hol mir die fetten Zeilen".

Was soll denn deine Logik sein ....wie bist du ausgerechnet auf diese Zeilen gekommen und wie soll ein Skript darauf kommen?

Grüße
Biber
ortnerbeni
ortnerbeni 09.04.2010 um 13:19:37 Uhr
Goto Top
Hallo,

Ich habe das gemacht was "bastla" gesagt hat. es funktioniert auch aber es gibt mehrere Zeilen die mit "name =", "size =" oder "totalphysicalmemory =".

Hier das ganze File:

(Das makierte will ich filtern)

[NETWORK_CONTROLLER_8]
vendorid = "PSCHEDMP"
maxspeed = null
vendor = "Microsoft"
name = "Paketplaner-Miniport"
macaddress = "96:84:20:52:41:53"
netconnectionstatus = null
description = "Paketplaner-Miniport"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = "Ethernet 802.3"
subsystemvendorid = ""

[COMPUTER_SYSTEM_0]

totalphysicalmemory = "536330240"

vendor = "Microsoft Corporation"

name = "SB-P-XPTEST"

systemtype = "X86-based PC"
serialnumber = ""
model = "Virtual Machine"
description = "AT/AT COMPATIBLE"

[NETWORK_CONTROLLER_4]
vendorid = "PPTPMINIPORT"
maxspeed = null
vendor = "Microsoft"
name = "WAN-Miniport (PPTP)"
macaddress = "50:50:54:50:30:30"
netconnectionstatus = null
description = "WAN-Miniport (PPTP)"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = "WAN (Wide Area Network)"
subsystemvendorid = ""

[NETWORK_CONTROLLER_5]
vendorid = "PPPOEMINIPORT"
maxspeed = null
vendor = "Microsoft"
name = "WAN-Miniport (PPPOE)"
macaddress = "33:50:6F:45:30:30"
netconnectionstatus = null
description = "WAN-Miniport (PPPOE)"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = "WAN (Wide Area Network)"
subsystemvendorid = ""

[NETWORK_CONTROLLER_6]
vendorid = "PTIMINIPORT"
maxspeed = null
vendor = "Microsoft"
name = "Parallelanschluss (direkt)"
macaddress = null
netconnectionstatus = null
description = "Parallelanschluss (direkt)"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = null
subsystemvendorid = ""

[NETWORK_CONTROLLER_7]
vendorid = "NDISWANIP"
maxspeed = null
vendor = "Microsoft"
name = "WAN-Miniport (IP)"
macaddress = null
netconnectionstatus = null
description = "WAN-Miniport (IP)"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = null
subsystemvendorid = ""

[NETWORK_CONTROLLER_0]
vendorid = "1011"
maxspeed = null
vendor = "Intel"
name = "Intel 21140-basierter PCI-Fast Ethernetadapter (Standard)"
macaddress = "00:03:FF:9B:A0:45"
netconnectionstatus = "Connected"
description = "Intel 21140-basierter PCI-Fast Ethernetadapter (Standard)"
serialnumber = ""
subsystemdeviceid = "0A00"
devicetype = "PCI"
deviceid = "0009"
ipenabled = true
autosense = null
model = ""
revision = "20"
ipaddress = "10.43.1.204"
adaptertype = "Ethernet 802.3"
subsystemvendorid = "2114"

[NETWORK_CONTROLLER_1]
vendorid = ""
maxspeed = null
vendor = null
name = "Asynchroner RAS-Adapter"
macaddress = null
netconnectionstatus = null
description = "Asynchroner RAS-Adapter"
serialnumber = ""
subsystemdeviceid = ""
devicetype = ""
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = null
subsystemvendorid = ""

[NETWORK_CONTROLLER_2]
vendorid = "PSCHEDMP"
maxspeed = null
vendor = "Microsoft"
name = "Paketplaner-Miniport"
macaddress = "00:03:FF:9B:A0:45"
netconnectionstatus = null
description = "Paketplaner-Miniport"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = "Ethernet 802.3"
subsystemvendorid = ""

[NETWORK_CONTROLLER_3]
vendorid = "L2TPMINIPORT"
maxspeed = null
vendor = "Microsoft"
name = "WAN-Miniport (L2TP)"
macaddress = null
netconnectionstatus = null
description = "WAN-Miniport (L2TP)"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ROOT"
deviceid = ""
ipenabled = false
autosense = null
model = ""
revision = ""
ipaddress = null
adaptertype = null
subsystemvendorid = ""

[PORT_CONNECTOR_0]
internalconnectortype = ""
name = "USB1"
externalconnectortype = ""
internaldesignator = "USB"
externaldesignator = "USB1"
connectortype = "Centronics, Centronics"
description = "Anschlussconnector"

[PORT_CONNECTOR_1]
internalconnectortype = ""
name = "USB2"
externalconnectortype = ""
internaldesignator = "USB"
externaldesignator = "USB2"
connectortype = "Centronics, Centronics"
description = "Anschlussconnector"

[PORT_CONNECTOR_2]
internalconnectortype = ""
name = "COM1"
externalconnectortype = ""
internaldesignator = "COM1"
externaldesignator = "COM1"
connectortype = "DB-9, Female, DB-9"
description = "Anschlussconnector"

[PORT_CONNECTOR_3]
internalconnectortype = ""
name = "COM2"
externalconnectortype = ""
internaldesignator = "COM2"
externaldesignator = "COM2"
connectortype = "DB-9, Female, DB-9"
description = "Anschlussconnector"

[PORT_CONNECTOR_4]
internalconnectortype = ""
name = "Lpt1"
externalconnectortype = ""
internaldesignator = "Printer"
externaldesignator = "Lpt1"
connectortype = "DB-25, Male, DB-25"
description = "Anschlussconnector"

[PORT_CONNECTOR_5]
internalconnectortype = ""
name = "Video"
externalconnectortype = ""
internaldesignator = "Video"
externaldesignator = "Video"
connectortype = "DB-15, Female, DB-15"
description = "Anschlussconnector"

[PORT_CONNECTOR_6]
internalconnectortype = ""
name = "Keyboard"
externalconnectortype = ""
internaldesignator = "Keyboard"
externaldesignator = "Keyboard"
connectortype = "PS/2, PS/2"
description = "Anschlussconnector"

[PORT_CONNECTOR_7]
internalconnectortype = ""
name = "Mouse"
externalconnectortype = ""
internaldesignator = "Mouse"
externaldesignator = "Mouse"
connectortype = "PS/2, PS/2"
description = "Anschlussconnector"

[MONITOR_0]
vendor = "(Standardmonitortypen)"
name = "(Standardmonitor)"
serialnumber = ""
screenheight = 600
model = ""
screenwidth = 800
description = "(Standardmonitor)"

[FLOPPY_DRIVE_0]
vendor = "(Standarddiskettenlaufwerke)"
name = "Diskettenlaufwerk"
description = "Diskettenlaufwerk"
serialnumber = ""
model = ""
size = ""

[CHASSIS_0]
name = "Computergehäuse"
description = "Computergehäuse"
installdate = null
chassistype = "Desktop"

[PCI_DEVICE_2]
vendorid = "8086"
vendor = "Intel"
name = "Intel(R) 82371AB/EB PCI-Bus-Master-IDE-Controller"
description = "Intel(R) 82371AB/EB PCI-Bus-Master-IDE-Controller"
serialnumber = ""
subsystemdeviceid = "0000"
devicetype = "PCI"
deviceid = "7111"
busid = ""
model = ""
revision = "01"
subsystemvendorid = "0000"

[MONITOR_1]
vendor = null
name = "Standardmonitor"
serialnumber = ""
screenheight = null
model = ""
screenwidth = null
description = "Standardmonitor"

[HARDDISK_DRIVE_0]

size = "20966238720"

vendor = "(Standardlaufwerke)"
name = "Virtual HD"
sectors = "40949685"
serialnumber = ""
heads = 255
cylinders = "2549"
model = "Virtual HD"
partitions = 1
description = "Laufwerk"

[PCI_DEVICE_3]
vendorid = "5333"
vendor = "S3"
name = "S3 Trio32/64"
description = "S3 Trio32/64"
serialnumber = ""
subsystemdeviceid = "0000"
devicetype = "PCI"
deviceid = "8811"
busid = ""
model = ""
revision = "00"
subsystemvendorid = "0000"

[FLOPPY_CONTROLLER_0]
vendorid = ""
vendor = "(Standard-Diskettenlaufwerkcontroller)"
name = "Standard-Diskettenlaufwerkcontroller"
description = "Standard-Diskettenlaufwerkcontroller"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ACPI"
deviceid = ""
model = ""
revision = ""
subsystemvendorid = ""

[BIOS_0]
vendor = "American Megatrends Inc."
name = ""
serialnumber = "5166-4705-6000-5711-7601-7964-80"
version = "A M I - 2000622"
model = ""
description = "BIOS Date: 02/22/06 20:54:49 Ver: 08.00.02"

[DISK_PARTITION_0]
index = 0
driveletter = "C:"
description = "Installierbares Dateisystem"
freespace = "17366142976"
startingoffset = "32256"
filesystem = "NTFS"
size = "20957981184"
name = "Datenträger Nr. 0, Partition Nr. 0"

[POINTING_DEVICE_0]
vendor = "Microsoft"
name = "Microsoft PS/2-Maus"
serialnumber = ""
numberofbuttons = 3
model = ""
description = "Microsoft PS/2-Maus"

[PROCESSOR_0]
vendor = "GenuineIntel"
name = "Intel Pentium III-Prozessor"
family = "Pentium III"
addresswidth = 32
socketdesignation = "X1"
description = "x86 Family 6 Model 23 Stepping 10"
serialnumber = "07C0A97B0001067A"
architecture = "x86"
maxclockspeed = 2692000000
voltage = ""
currentclockspeed = 2692000000
model = ""
extclock = 100000000

[MEMORY_MODULE_2]
formfactor = "DIMM"
capacity = "16777216"
name = "DIMM2"
serialnumber = null
tag = "Physical Memory 2"
memorytype = "SDRAM"
datawidth = 72
vendor = null
model = null
speed = ""
devicelocator = "DIMM2"
description = "Realer Speicher"

[MEMORY_MODULE_3]
formfactor = "DIMM"
capacity = "16777216"
name = "DIMM2"
serialnumber = null
tag = "Physical Memory 3"
memorytype = "SDRAM"
datawidth = 72
vendor = null
model = null
speed = ""
devicelocator = "DIMM2"
description = "Realer Speicher"

[MEMORY_MODULE_0]
formfactor = "DIMM"
capacity = "16777216"
name = "DIMM1"
serialnumber = null
tag = "Physical Memory 0"
memorytype = "SDRAM"
datawidth = 72
vendor = null
model = null
speed = ""
devicelocator = "DIMM1"
description = "Realer Speicher"

[MEMORY_MODULE_1]
formfactor = "DIMM"
capacity = "16777216"
name = "DIMM2"
serialnumber = null
tag = "Physical Memory 1"
memorytype = "SDRAM"
datawidth = 72
vendor = null
model = null
speed = ""
devicelocator = "DIMM2"
description = "Realer Speicher"

[CACHE_MEMORY_2]
installedsize = 0
description = "Zwischenspeicher"
level = "Tertiary"
maxsize = 0
location = "Internal"
name = "L3-cache"

[CACHE_MEMORY_1]
installedsize = 0
description = "Zwischenspeicher"
level = "Secondary"
maxsize = 0
location = "Internal"
name = "L2-cache"

[CACHE_MEMORY_0]
installedsize = 0
description = "Zwischenspeicher"
level = "Primary"
maxsize = 0
location = "Internal"
name = "L1-Cache"

[MEMORY_BANK_0]
slots = 4
location = "System board or motherboard"
maxcapacity = 3221225472
name = "System memory"
description = "Realer Speicherarray"

[OPTICAL_DRIVE_0]
driveletter = "D:"
vendor = "(Standard-CD-ROM-Laufwerke)"
name = "MS C/DVD-ROM"
serialnumber = ""
model = ""
size = null
description = "CD-ROM-Laufwerk"

[AUDIO_CONTROLLER_0]
vendorid = ""
vendor = "Creative Technology Ltd."
name = "Treiber für Sound Blaster 16, AWE32 oder kompatibel (WDM)"
description = "Treiber für Sound Blaster 16, AWE32 oder kompatibel (WDM)"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "ISAPNP"
deviceid = ""
model = ""
revision = ""
subsystemvendorid = ""

[BASE_BOARD_0]
product = "Virtual Machine"
vendor = "Microsoft Corporation"
name = "Virtual Machine"
serialnumber = "5166-4705-6000-5711-7601-7964-80"
model = null
description = "Hauptplatine"

[SCANPROPERTIES_0]
scantime = "2010-03-29 11:52:53"

[PCI_DEVICE_0]
vendorid = "8086"
vendor = "Intel"
name = "Intel 82443BX Pentium(R) II Prozessor-zu-PCI-Brücke"
description = "Intel 82443BX Pentium(R) II Prozessor-zu-PCI-Brücke"
serialnumber = ""
subsystemdeviceid = "0000"
devicetype = "PCI"
deviceid = "7192"
busid = ""
model = ""
revision = "03"
subsystemvendorid = "0000"

[PCI_DEVICE_1]
vendorid = "8086"
vendor = "Intel"
name = "Intel 82371AB/EB PCI-zu-ISA-Brücke (ISA-Modus)"
description = "Intel 82371AB/EB PCI-zu-ISA-Brücke (ISA-Modus)"
serialnumber = ""
subsystemdeviceid = "0000"
devicetype = "PCI"
deviceid = "7110"
busid = ""
model = ""
revision = "01"
subsystemvendorid = "0000"

[VIDEO_CONTROLLER_1]
vendorid = ""
vendor = ""
description = "PCI GDIHOOK5"
videoprocessor = null
serialnumber = ""
subsystemdeviceid = ""
name = "PCI GDIHOOK5"
devicetype = "ROOT"
deviceid = ""
model = ""
revision = ""
adapterram = null
subsystemvendorid = ""

[VIDEO_CONTROLLER_0]
vendorid = "5333"
vendor = ""
description = "S3 Trio32/64"
videoprocessor = "S3 732"
serialnumber = ""
subsystemdeviceid = "0000"
name = "S3 Trio32/64"
devicetype = "PCI"
deviceid = "8811"
model = ""
revision = "00"
adapterram = 4194304
subsystemvendorid = "0000"

[PCI_DEVICE_4]
vendorid = "1011"
vendor = "Intel"
name = "Intel 21140-basierter PCI-Fast Ethernetadapter (Standard)"
description = "Intel 21140-basierter PCI-Fast Ethernetadapter (Standard)"
serialnumber = ""
subsystemdeviceid = "0A00"
devicetype = "PCI"
deviceid = "0009"
busid = ""
model = ""
revision = "20"
subsystemvendorid = "2114"

[IDE_CONTROLLER_2]
vendorid = ""
vendor = "(Standard-IDE-ATA/ATAPI-Controller)"
name = "Sekundärer IDE-Kanal"
description = "Sekundärer IDE-Kanal"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "PCIIDE"
deviceid = ""
model = ""
revision = ""
subsystemvendorid = ""

[IDE_CONTROLLER_0]
vendorid = "8086"
vendor = "Intel"
name = "Intel(R) 82371AB/EB PCI-Bus-Master-IDE-Controller"
description = "Intel(R) 82371AB/EB PCI-Bus-Master-IDE-Controller"
serialnumber = ""
subsystemdeviceid = "0000"
devicetype = "PCI"
deviceid = "7111"
model = ""
revision = "01"
subsystemvendorid = "0000"

[IDE_CONTROLLER_1]
vendorid = ""
vendor = "(Standard-IDE-ATA/ATAPI-Controller)"
name = "Primärer IDE-Kanal"
description = "Primärer IDE-Kanal"
serialnumber = ""
subsystemdeviceid = ""
devicetype = "PCIIDE"
deviceid = ""
model = ""
revision = ""
subsystemvendorid = ""

[KEYBOARD_0]
vendor = ""
name = "Erweitert (101 oder 102 Tasten)"
serialnumber = ""
numberoffunctionkeys = 12
model = ""
description = "Standardtastatur (101/102 Tasten) oder Microsoft Natural Keyboard (PS/2)"


Danke
Biber
Biber 09.04.2010 um 13:32:43 Uhr
Goto Top
Moin ortnerbeni,

Zitat von @ortnerbeni:
Ich habe das gemacht was "bastla" gesagt hat.
Jepp. das habe ich irgendwie vorausgesehen.
Magst du jetzt bitte auch noch mal das machen, was "Biber" gesagt hat?

Es sei denn, du kannst tatsächlich deine Bätche mit der Anweisung "Hol mir die fettgedruckten Zeilen" hinreichend instruieren....

Grüße
Biber
ortnerbeni
ortnerbeni 09.04.2010 um 13:35:25 Uhr
Goto Top
Moin Biber,

Aus diesem Txt file will ich folgendes herausfiltern


totalphysicalmemory = "536330240"

name = "SB-P-XPTEST"

size = "20966238720"

name = "Intel Pentium III-Prozessor"


Grüße
Benni
bastla
bastla 09.04.2010 um 13:42:31 Uhr
Goto Top
Hallo ortnerbeni!

Nun sind wir ja nicht ganz so schwer von Begriff - aber Du sollst es ja Deinem Batch erklären ...

... und dem musst Du dann schon etwas in der Art
"name = " würde mich interessieren, aber nur wenn's der erste unter [COMPUTER_SYSTEM_0] oder [PROCESSOR_0] ist
mitgeben ...

Grüße
bastla
ortnerbeni
ortnerbeni 09.04.2010 um 13:49:18 Uhr
Goto Top
ja genau nur nach den

[COMPUTER_SYSTEM_0]

totalphysicalmemory = "536330240"

name = "SB-P-XPTEST"

[PROCESSOR_0]

name = "Intel(R) Pentium(R) 4 CPU 1.80GHz"

[HARDDISK_DRIVE_0]

size = "20966238720"

Nur diese wörter aber wie...?

Grüße
Benni
bastla
bastla 09.04.2010 um 16:01:22 Uhr
Goto Top
Hallo ortnerbeni!

Wenn wir noch bei Batch bleiben wollen, dann für eine einzelne Datei (ob auch hier gleich mehrere Dateien verarbeitet werden sollten, geht aus Deiner Beschreibung nicht hervor) etwa so:
@echo off & setlocal
set "Datei=D:\Computer-Info.txt"  

set "TempInfo=%temp%\Info.txt"  
move "%Datei%" "%TempInfo%"  
for %%i in ("[COMPUTER_SYSTEM_0];totalphysicalmemory","[COMPUTER_SYSTEM_0];name","[PROCESSOR_0];name","[HARDDISK_DRIVE_0];size") do (  
    for /f "tokens=1-2 delims=;" %%a in (%%i) do for /f "delims=:" %%n in ('findstr /n "^" "%TempInfo%"^|findstr /l /c:":%%a"') do call :ProcessLine %%n "%%b"  
)
del "%TempInfo%"  
goto :eof

:ProcessLine
set Gefunden=
for /f "delims=" %%t in ('more +%1 "%TempInfo%"^|findstr /b /c:"%~2 = "') do if not defined Gefunden (set "Gefunden=True" & >>"%Datei%" echo\%%t)  
goto :eof
Gesucht werden die Werte nach der oben angeführten Vorschrift "Finde den ersten Attributwert (für zB "name") nach der angegebenen Section-Überschrift (zB "[COMPUTER_SYSTEM_0]") - dabei wird nicht geprüft, ob dieser Wert tatsächlich noch in dieser Section enthalten ist; wenn es daher in "[COMPUTER_SYSTEM_0]" keine Zeile für "name" gibt, würde das Ergebnis zB "WAN-Miniport (PPTP)" lauten (bei Bedarf lässt sich dafür aber noch eine entsprechende Prüfung einbauen) ...

Noch als Anmerkung: Da nur relativ wenige Daten herausgefiltert werden sollen, habe ich diese unmittelbar in der Schleife untergebracht - alternativ könnte auch zB eine ".ini"-Datei zur Festlegung der benötigten Wert verwendet werden.

Grüße
bastla
Biber
Biber 09.04.2010 um 16:37:37 Uhr
Goto Top
Moin bastla,

Wie ich schon immer sagte: "Alles außer Brotschneiden..... " face-wink
Sehr eindrucksvoll.

@ortnerbeni
Andererseits wollte ich es gar nicht sooo weit treiben...eigentlich hatte ich gehofft, dass von dir die (gepostete) Überlegung kommt:
"Ja hey! Aus diesem unstruktierten und nur von Erbsenzählern lesbaren Textgestrunkele kann doch kein halbwegs handelsüblich aufgebautes Programm irgendwelche Informationen gezielt herausflöhen wollen...
Kann ich denn diese 4 oder 5 Informationen Hauptspeichergröße, Prozessormodell und Festplattenplatz eines Rechners nicht irgendwie gezielt abfragen über dieses WMIC-Geraffel?"


Okay, kam nun leider nicht... also lass uns hier einen Haken dran machen und ins Wochenende fahren.

Grüße
Biber
bastla
bastla 09.04.2010 um 17:22:28 Uhr
Goto Top
@Biber
Sehr eindrucksvoll.
Danke - hab' ich aber ohnehin so gut wie alles zuerst einmal bei Dir gesehen ... face-smile

Grüße
bastla
Biber
Biber 09.04.2010 um 17:34:36 Uhr
Goto Top
@bastla

Zitat von @bastla:
@Biber
Danke - hab' ich aber ohnehin so gut wie alles zuerst einmal bei Dir gesehen ... face-smile
Hmmm... soll das heissen, ich mache auch alles mit Batch, was technisch möglich ist und nicht gegen die Gesetze der Schwerkraft verstößt?? face-wink

Im Ernst - in diesem Textbrei würde ich mit keinem meiner Lieblingsbätche rumrühren...

Anyhow - schönes Wochenende!

Grüße
Biber
bastla
bastla 09.04.2010 um 17:39:53 Uhr
Goto Top
@Biber
Hmmm... soll das heissen, ich mache auch alles mit Batch, was technisch möglich ist und nicht gegen die Gesetze der Schwerkraft verstößt?? face-wink
Bei Letzterem bin ich mir nicht so sicher (wobei ich mich allerdings sehr streng an diese Gesetze halte face-wink) ...

Schönes Wochenende
bastla
Biber
Biber 11.04.2010 um 14:39:09 Uhr
Goto Top
Moin ortnerbeni,

ich hab noch mal den Beitrag überflogen.
Und habe beschlossen, dass die ursprünglich gestellte Frage hinreichend beantwortet ist und eigentlich auch für die LösungssucherInnen von benutzer.de sichtbar sein sollte.
Deshalb setze ich den Beitrag mal auf "Gelöst", egal ob noch Feedback von dir kommt oder nicht.

Grüße
Biber
ortnerbeni
ortnerbeni 12.04.2010 um 08:14:26 Uhr
Goto Top
Danke...

Hat jetzt alles funktioniert...

das Script von bastla passte.

Mfg

Benni