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 Teile einer Zeile ausschneiden

Mitglied: zockerg

zockerg (Level 1) - Jetzt verbinden

28.04.2008, aktualisiert 02.05.2008, 5752 Aufrufe, 13 Kommentare

Hallo,

ich habe das Problem das ich, wie oben schon angegeben, gern wissen würde ich Teile einer Zeile ausschneiden kann.
Um es etwas genauer zu machen:

20: Computername PC (Mein PC)
17: Betriebssystem Microsoft Windows XP Professional
26: Motherboard Name Unbekannt
27: Motherboard Chipsatz Unbekannt
25: CPU Typ Unknown, 2400 MHz (7 x 343)
28: Arbeitsspeicher 2048 MB
33: Grafikkarte NVIDIA GeForce 8800 GT (512 MB)
42: Festplatte MAXTOR STM3250310AS
43: Festplatte Ut163 USB2FlashStorage USB Device

So sieht nun meine Anfangstext-Datei aus.
Nun möchte ich mit Hilfe einer Batch-Datei, das es später so in etwa aussieht.
Man muss dazu sagen, die Zahlen am Zeilenanfang sind mit Hilfe einer vorherigen
Batch-Datei zustande gekommen dadurch ändern sich diese ab und zu.

PC (Mein PC), Microsoft Windows XP Professional, Unbekannt, Unbekannt, Unknown, 2400 MHz (7 x 343), 2048 MB, NVIDIA GeForce 8800 GT (512 MB), MAXTOR STM3250310AS, Ut163 USB2FlashStorage USB Device

So sollte etwas später aussehen, damit ich die einzeln Wörter in eine Datenbank einfügen kann.

Kann mir da vll jemand helfen?

Danke schonma im voraus
Mitglied: miniversum
28.04.2008 um 21:08 Uhr
Versuchs mal so:
01.
@echo off
02.
set "string="
03.
FOR /F "tokens=2,3* delims= " %%i in (Anfangstext.txt) do call:anhang %%i %%j "%%k"
04.
set string=%string:~2%
05.
echo %string%>Endtext.txt
06.
goto:eof
07.

08.
:anhang
09.
if "%1" equ "Motherboard" (
10.
set string=%string%, %~2
11.
) else (
12.
set string=%string%, %1 %~2
13.
)
14.
goto:eof
Bitte warten ..
Mitglied: zockerg
28.04.2008 um 21:34 Uhr
o.O ne das geht irgendwie nicht
sorry bin noch totaler anfänger was solche sachen angeht
Bitte warten ..
Mitglied: zockerg
28.04.2008 um 21:35 Uhr
ne das geht irgendwie nichtt
sorry bin noch totaler anfänger
Bitte warten ..
Mitglied: miniversum
28.04.2008 um 21:38 Uhr
Was heißt irgentwie?
Kommt ne Fehlermeldung oder steht was anderes in der Datei?
Bitte warten ..
Mitglied: bastla
28.04.2008 um 21:51 Uhr
Hallo zockerg und miniversum!

Da dürften ein paar Token verrutscht sein - vielleicht geht es ja so:
01.
@echo off & setlocal
02.
set string=
03.
FOR /F "tokens=2,3* delims= " %%i in (Anfangstext.txt) do call:anhang %%i %%j "%%k"
04.
echo %string:~2% >Endtext.txt
05.
goto:eof
06.

07.
:anhang
08.
if /i "%1"=="Motherboard" (
09.
	set "string=%string%, %~3"
10.
) else if /i "%1"=="CPU" (
11.
	set "string=%string%, %~3"
12.
) else (
13.
set "string=%string%, %2 %~3"
14.
)
15.
goto:eof
Grüße
bastla

[Edit] Überzähliges "%"-Zeichen in "echo"-Zeile entfernt [/Edit]
Bitte warten ..
Mitglied: zockerg
28.04.2008 um 22:40 Uhr
okay funktioniert nun.
funktioniert die batch datei, auch mit jeder beliebigem zahl die vor
den einzelnen wörtern steht?
Bitte warten ..
Mitglied: bastla
28.04.2008 um 22:47 Uhr
Hallo zockerg!

funktioniert die batch datei, auch mit jeder beliebigem zahl die vor den einzelnen wörtern steht?
Die Zahl wird überhaupt nicht beachtet.

Allerdings wäre der Batch anzupassen, wenn Du bei weiteren Komponenten (so wie derzeit für "Motherboard" und "CPU") mehr als ein Wort (wie zusätzlich "Chipsatz" oder "Typ") nach der Zahl weglassen willst.

Damit Du das selbst machen kannst, eine andere Variante:
01.
@echo off & setlocal
02.
set "DoppelWort=Motherboard CPU"
03.
set string=
04.
FOR /F "tokens=2,3* delims= " %%i in (Anfangstext.txt) do call:anhang %%i %%j "%%k"
05.
echo %string:~2% >Endtext.txt
06.
goto:eof
07.

08.
:anhang
09.
set "string=%string%,"
10.
echo %DoppelWort%|findstr /i "%1" >nul || set "string=%string% %2"
11.
set "string=%string% %~3"
12.
goto:eof
Wenn es also weitere Beschreibungen gibt, die aus zwei Wörtern bestehen, ist das erste der beiden Wörter in der Zeil "set DoppelWort=..." durch ein Leerzeichen getrennt hinzuzufügen.

Grüße
bastla

[Edit] Überzähliges "%"-Zeichen in "echo"-Zeile entfernt [/Edit]
Bitte warten ..
Mitglied: zockerg
29.04.2008 um 11:51 Uhr
okay, das vorletzte geht, das letzte nicht, da lässt er immer den computernamen weg.
naja trotzdem danke für eure hilfe ;) kann mir jetzt vielleicht noch jemand sagen wie ich den Inhalt der Textdatei, wo die Begriffe durch ein Komma getrennt sind, nun als DAtzensatz in eine Datenbank bekommen? also ich hab im endeffekt mehrere solcher "Rechnerkomponenten"-Textdateien und will nun wenn ich eine neue mache mit dem obigen quellcode, das er diese direkt in eine bestehende Datenbank einfügt bzw. anhängt.
wär echt nett wenn man mir helfen könnte
Bitte warten ..
Mitglied: bastla
29.04.2008 um 11:59 Uhr
Hallo zockerg!

okay, das vorletzte geht, das letzte nicht, da lässt er immer den computernamen weg.
Kann ich nicht nachvollziehen - mit Deiner oben geposteten Beispielsliste als "Anfangstext.txt" wird bei mir folgende "Endtext.txt" erzeugt:
01.
PC (Mein PC), Microsoft Windows XP Professional, Unbekannt, Unbekannt, Unknown, 2400 MHz (7 x 343), 2048 MB, NVIDIA GeForce 8800 GT (512 MB), MAXTOR STM3250310AS, Ut163 USB2FlashStorage USB Device 
- sieht für mich Deinem gewünschten Output sehr ähnlich ...

Grüße
bastla
Bitte warten ..
Mitglied: zockerg
29.04.2008 um 12:16 Uhr
Also bei mir macht er immer den Computernamen weg, setzt aber allerdings das Komma dahin d.h. die Zeile beginnt direkt mit dem Komma aber ist ja auch egal :D wie bekomm ich das in eine datenbank ? ach und hab vergessen :D wenn in der ersten spalte, also der computername, beim einfügen schon vorhanden ist, soll der Datensatz einfach durch den neuen ersetz werden
Bitte warten ..
Mitglied: Biber
29.04.2008 um 13:00 Uhr
Liebes zockerg,

ich bin hier im Nebenbereich "Batch & Shell", der wiederum in der Vorstellungswelt der Forumsbetreiber
als Nebenarm von "Entwicklung" und "Programmierung" eingestuft wird, einer der HiWis.

Und ich sag mal so: "Batch" als untergeordneter Zweig unter "Programmierung" und diese unter "Entwicklung"
folgt einer gewissen nachvollziehbaren Logik.

Von "ich habe einen Text gefunden" in einem Nebensatz auf
"aber ist ja auch egal :D wie bekomm ich das in eine datenbank" zu kommen ist mir ein wenig zu schnell.

Kannst Du bitte
  • wenn die ursprünglich gestellte Frage beantwortet ist, den Beitrag als gelöst markieren?
  • Dich dann erstmal ein Stündchen in den Schatten setzen und überlegen, ob denn schon ein Plan existiert, zu dessen Umsetzung Du hier fremde Arbeitszeiten verbrennst oder ob das alles nur Chatterei ist
  • sollte entgegen meiner Einschätzung doch schon ein Plan vorhanden sein, diesen bitte in einem neuen Beitrag derart zu schildern , dass daraus hervorgeht, was vorhandener Input, gewünschter Output sowie Sinn und Zweck dieser Arie sein soll.

aber ist ja auch egal :D wie bekomm ich das in eine datenbank
Fragen dieser Sinnhaftigkeit möchte ich in diesem Nebenarm des Forums nie wieder lesen.

Grüße
Biber
Bitte warten ..
Mitglied: zockerg
29.04.2008 um 13:26 Uhr
okay tschuldige, kommt nict mehr vor;)
Bitte warten ..
Mitglied: Biber
02.05.2008 um 19:32 Uhr
Na, um noch einen OT draufzusetzen,

eben, als ich diesen Beitrag schließen wollte, habe ich entdeckt, wie der Quelltext wirklich aussieht...

Dieses hier...
20: Computername PC (Mein PC)
17: Betriebssystem Microsoft Windows XP Professional
26: Motherboard Name Unbekannt
27: Motherboard Chipsatz Unbekannt
25: CPU Typ Unknown, 2400 MHz (7 x 343)
28: Arbeitsspeicher 2048 MB
33: Grafikkarte NVIDIA GeForce 8800 GT (512 MB)
42: Festplatte MAXTOR STM3250310AS
43: Festplatte Ut163 USB2FlashStorage USB Device

...als < code> formatiert:
01.
20:      Computername                                PC (Mein PC)
02.
17:      Betriebssystem                                Microsoft Windows XP Professional
03.
26:      Motherboard Name                          Unbekannt
04.
27:      Motherboard Chipsatz                     Unbekannt
05.
25:      CPU Typ                                           Unknown, 2400 MHz (7 x 343)
06.
28:      Arbeitsspeicher                                2048 MB
07.
33:      Grafikkarte                                       NVIDIA GeForce 8800 GT  (512 MB)
08.
42:      Festplatte                                        MAXTOR STM3250310AS
09.
43:      Festplatte                                        Ut163 USB2FlashStorage USB Device
[Anmerkung - die "feste Spaltenbreite" wird im meinem Browser leider auch mit Code-Tags nicht richtig dargestellt, ist aber hoffentlich in Ansätzen erkennbar.]

Das hätte die Verarbeitung u.U. vereinfacht ...
Deshalb meine Bitte an die nächsten Problem-Poster:
Bitte <code>-Tags benutzen, wenn es um Bildschirmausgaben/Input-Testdateien geht.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Teil eines Strings löschen
gelöst Frage von Dnis822Batch & Shell18 Kommentare

Hallo zusammen, ich komme gerade bei folgendem Punkt nicht weiter: Ich habe eine Datei die völlig unformatiert ist, das ...

Batch & Shell
Teil einer Variablen auslesen
gelöst Frage von mondfelder69Batch & Shell7 Kommentare

Hallo habe folgendes Problem: Ich möchte mit folgender Batch alle xls Dateien in xlsx konvertieren. Das funktioniert auch wunderbar, ...

Windows 10
Win10-Aktivierungsfrust Teil III
Tipp von DerWoWussteWindows 106 Kommentare

"Nicht schon wieder Ihmchen mit seinem Aktivierungsfrust" wird jetzt hoffentlich keiner denken ;-) Ich habe Neuigkeiten zu meinen Beobachtungen ...

Windows 10
Win10-Aktivierungsfrust Teil II
Erfahrungsbericht von DerWoWussteWindows 1014 Kommentare

Ein kleiner Erfahrungsbericht über den Microsoft-Aktivierungssupport. Ich habe diverse Win8.1 Pro (non-VL) auf Win10 Pro inplace upgegradet, alles lief, ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 1 TagInternet5 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 1 TagWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 2 TagenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 TagenSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
TAPI auf einem Win2016Server installieren und einrichten
Frage von wstabelTK-Netze & Geräte29 Kommentare

Hallo liebe Admins, ich habe folgende Situation: 1 Windows Server 2016 Standard als DC 1 SNOM 710 IP-Telefon 1 ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell24 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...

Microsoft
Übertragung von MS Volumenlizenzen
Frage von SherlockineMicrosoft20 Kommentare

Ich bin Angestellte in einer kleinen 10-köpfigen IT-Firma, die Netzwerklösungen, Telefonielösungen und Ähnliches anbietet. Im Sommer hatten wir einen ...