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 Ein Wort aus Batch isolieren

Mitglied: Franky-Boy

Franky-Boy (Level 1) - Jetzt verbinden

08.07.2007, aktualisiert 09.07.2007, 4860 Aufrufe, 8 Kommentare

Hi,
und zwar möchte ich wie der Name schon sagt gerne ein
bestimmtest Wort aus einer .txt bzw. .bat auslesen und
als variable weiter verarbeiten.
hier der Text der mir vorliegt:
! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\RemoteAccess\Profile\

HKEY_CURRENT_USER\RemoteAccess\Profile\\Alice
und zwar benötige ich das jeweils letzte Wort in diesem
Beispiel "Alice". Mein erster Gedanke war es mit %patch~5,40%
zu versuchen leider klappte das nicht.
Was ist der Fehler und wie mache ich es richtig?
Mitglied: 50496
08.07.2007 um 23:17 Uhr
Von hinten abziehen und Länge angeben:

set patch=%patch:~-5,6%

Das geht natürlich nur, wenn der Text immer gleich bzw. gleich lang ist.
Bitte warten ..
Mitglied: TuXHunt3R
08.07.2007 um 23:28 Uhr
Versuchs mal so:

1. Leite die Ausgabe in ein Textfile um.

2. Filtere das Textfile nach dem gewünschten Wort (hier: Alice) und leite das Ergebnis in ein
zweites txt um.

Konkret sieht das so aus:

find /i "alice" <Kompletter Pfad der Txt-Datei> >>c:\text2.txt

3. Folgende Zeile filtert das Wort "Alice" aus der letzten Zeile heraus und schreibt dieses in ein
drittes TXT :

@for /F "tokens=1,2,3,4,5 delims=\ " %%a in (<Kompletter Pfad der zweiten TXT>) do echo %%e >>c:\final.txt

Somit hast du ein Textfile final.txt mit dem gesuchten Wort als Inhalt (nicht getestet).

Wie man den Inhalt eines TXTs direkt in eine Variable schreibt, weiss ich leider nicht genau, ich hoffe aber, dass dir damit zumindest ein bisschen geholfen ist.
Bitte warten ..
Mitglied: bastla
09.07.2007 um 07:52 Uhr
Hallo Franky-Boy und willkommen im Forum!

Du kannst zwar auch mit der Länge arbeiten (dann: %patch:~40%), allerdings geht's auch etwas allgemeiner, indem einfach der "Suchstring" entfernt (= durch "nichts" ersetzt) wird:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Datei=D:\Test.txt" 
03.
set "Suchstring=HKEY_CURRENT_USER\RemoteAccess\Profile\\" 
04.
for /f "delims=" %%i in ('findstr "%Suchstring%" "%Datei%"') do set "TempString=%%i" & set "Ergebnis=!TempString:%SuchString%=! 
05.
echo %Ergebnis%
Wenn mehrere Zeilen den "Suchstring" enthalten, wird der Wert für "Ergebnis" aus der letzten passenden Zeile entnommen.

Den Klimmzug mit dem TempString musst Du unternehmen, weil für die Laufvariable %%i die String-Ersetzung nicht vorgenommen werden kann. Um die "delayedexpansion" kommst Du nicht herum, wenn der Suchstring für das Ersetzen variabel sein soll.

Grüße
bastla
Bitte warten ..
Mitglied: bastla
09.07.2007 um 09:35 Uhr
... Nachtrag/Alternative: Aufteilung der Zeile anhand der "\" als Trennzeichen:
01.
@echo off & setlocal 
02.
set "Datei=Z:\Test.txt" 
03.
set "Suchstring=HKEY_CURRENT_USER\RemoteAccess\Profile\\" 
04.
set Ergebnis= 
05.
for /f "tokens=3* delims=\" %%i in ('findstr "%Suchstring%" "%Datei%"') do set Ergebnis=%%j 
06.
echo %Ergebnis%
Damit werden die ersten 3 durch "\" (oder auch "\\") getrennten Bestandteile übersprungen und der Rest der Zeile in %Ergebnis% gespeichert.

Grüße
bastla
Bitte warten ..
Mitglied: Franky-Boy
09.07.2007 um 18:22 Uhr
@50496 leider sind die längen immer unterschiedlich. Welche Angabe in "set patch=%patch:~-5,6%" steht den dafür das er von hinten nach vorne suche und nicht umgekehrt?

@TuXHunt3R "Alice" ist ja die Variable Angabe die ich herausbekommen möchte! Tut mir leid wenn ich mich nicht deutlich genug aus gedrückt habe.

Danke euch allen dank dem zweitem Tipp von bastla hat es nun endlich geklappt:D
und noch ein @bastla thx für die nette Begrüssung.
Bitte warten ..
Mitglied: 50496
09.07.2007 um 18:28 Uhr
@Franky-Boy

Lies dir doch mal die ausführlichen Informationen zu SET durch.
In der Eingabeaufforderung eingeben:

HELP SET oder SET /?.

Diese Syntax funktioniert bei allen Konsolenbefehlen der CMD.

In meinem Beispiel werden von hinten 5 Zeichen abgezogen und eine Länge von 6 verwendet.
Leider ist das aber falsch, was ich da angegeben habe, denn

1. würde die Angabe "-5" reichen, und
2. sind es nicht 6, sondern nur 5 Zeichen.
Bitte warten ..
Mitglied: Franky-Boy
09.07.2007 um 21:43 Uhr
Ja danke ernstaugust ich habe eben noch mal nach gelesen "%PATH:~-10% extrahiert die letzten 10 Zeichen der Variable PATH" leider ist der Info Text für mich nicht immer auf Anhieb
verständlich. Da ich aber auch erst sein wenigen Tagen mit Batch arbeite und auch vorher noch nie programmiert habe finde ich das ich mir die eine oder andere Frage (noch) erlauben kann.
Naja jetzt bin ich ja aufgeklärt danke noch mal.
Bitte warten ..
Mitglied: Biber
09.07.2007 um 22:07 Uhr
Moin Franky-Boy,

so wie ich es einschätze war der vermeintlich banale Hinweis auf "SET /?" durchaus kein Abwiegeln oder als reflexartiges RTFM gemeint.

Und das Lesen der (von M$ seit DOS-Zeiten wirklich verbesserten) Hilfe zu den CMD-Befehlen ist nicht nur hilfreich für Anfänger.

Nimm es einfach als ernst gemeinte Lösungshilfe an.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch: Wenn Buchstaben im Wort enthalten dann......

gelöst Frage von Luckyman7471Batch & Shell7 Kommentare

Hallo Leute, Ich würde gerne folgendes realisieren: Wenn im lokalen Computernamen die Buchstaben "fa" enthalten sind dann soll ein ...

Netzwerkmanagement

Einfaches Netzwerk, Clienten Isolieren

gelöst Frage von 132954Netzwerkmanagement5 Kommentare

Hi, folgendes Problem: Ich plane gerade ein neues Netzwerk. ICh zeige mal den groben aufbau auf, glassfaser zugang, Modem/Router- ...

Batch & Shell

Textdatei (.txt) Wort für Wort auslesen per batch (Spaltenweise)

Frage von pdiddoBatch & Shell1 Kommentar

Hi, ich habe eine Textdatei (.txt). Diese hat mehrere Zeilen. Ich möchte diese gerne Spalte für Spalte auslesen, sodass ...

Batch & Shell

Batch nach einem exaktem wort in einer textdatei suchen

gelöst Frage von noah1400Batch & Shell4 Kommentare

hallo ich möchte in einem text dokument nach dem wort "ha" suchen wenn in die Textdatei so aussieht 1: ...

Neue Wissensbeiträge
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 9 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 9 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 9 StundenHardware10 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 9 StundenMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL17 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...