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 Stringsuche in txt und vorherige Zeile extrahieren

Mitglied: DMaaan

DMaaan (Level 1) - Jetzt verbinden

07.07.2009, aktualisiert 21:35 Uhr, 4211 Aufrufe, 2 Kommentare

Hallo miteinander,

da ich hier schon sehr viele kompetente Hilfsbeiträge gelesen habe hoffe ich, dass es auch für mein Problem eine Lösung gibt :

Ich möchte eine Textdatei nach einem bestimmten String durchsuchen, der String hat immer die Form "Buchstabe:", also z.B.

J:

Es geht darum, dass ich mit dem Befehlt mountvol die verschiedenen Datenträger aufliste, die Liste nach dem gewünschten Buchstaben durchsuche
und bei einem Treffer einen Teil der vorherigen Zeile in einen String speichere.

Inhalt meiner Textdatei:

Erstellt, l”scht oder listet einen Volumebereitstellungspunkt auf.

MOUNTVOL [Laufwerk:]Pfad Volumename
MOUNTVOL [Laufwerk:]Pfad /D
MOUNTVOL [Laufwerk:]Pfad /L
MOUNTVOL [Laufwerk:]Pfad /P
MOUNTVOL /R
MOUNTVOL /N
MOUNTVOL /E

Pfad Gibt das (bereits vorhandene) NTFS-Verzeichnis an, auf dem der
Bereitstellungspunkt eingerichtet werden soll.
Volumename Gibt den Namen des bereitzustellenden Volumes an.
/D L”scht den Bereitstellungspunkt vom angegebenen Verzeichnis.
/L Zeigt den Namen des bereitgestellten Volumes fr das
angegebene Verzeichnis an.
/P Entfernt den Volumebereitstellungspunkt vom angegebenen
Verzeichnis, entfernt die Volumebereitstellung und setzt das
Volume nicht mehr bereitstellbar.
Sie k”nnen das Volume wieder bereitstellbar machen, indem Sie
einen Volumebereitstellungspunkt erstellen
/R Entfernt Verzeichnisse fr Volumebereitstellungspunkte und
Registrierungseinstellungen fr Volumes d. im System nicht mehr
existieren.
/N Deaktiviert das automatische Bereitstellen neuer Volumes.
/E Aktiviert das automatische Bereitstellen neuer Volumes wieder.

M”gliche Werte fr VolumeName mit aktuellen Bereitstellungspunkten:

\\?\Volume{341e1d61-594d-11de-b993-806e6f6e6963}\
* KEINE BEREITSTELLUNGSPUNKTE *

\\?\Volume{341e1d5f-594d-11de-b993-806e6f6e6963}\
* KEINE BEREITSTELLUNGSPUNKTE *

\\?\Volume{341e1d71-594d-11de-b993-806e6f6e6963}\
G:\

\\?\Volume{7c93c6f3-5bef-11de-88c5-001d605cbed4}\
I:\

\\?\Volume{341e1d60-594d-11de-b993-806e6f6e6963}\
C:\

\\?\Volume{69871728-67e8-11de-9dbe-001d605cbed4}\
J:\

\\?\Volume{341e1d72-594d-11de-b993-806e6f6e6963}\
H:\

\\?\Volume{8f903bfb-67c2-11de-b33e-001d605cbed4}\
D:\

\\?\Volume{9b457b0d-6750-11de-8f3a-001d605cbed4}\
Das System kann die angegebene Datei nicht finden.
\\?\Volume{341e1d66-594d-11de-b993-806e6f6e6963}\
A:\

\\?\Volume{341e1d64-594d-11de-b993-806e6f6e6963}\
E:\

\\?\Volume{341e1d65-594d-11de-b993-806e6f6e6963}\
F:\


Die Variable mit dem Buchstaben, die übergeben wird, heißt %ED%. Eine besonderheit hierbei muss noch sein,
dass nach dem Buchstaben VOR der Variablen gesucht wird, also wenn ich zum Beispiel in %ED% I: übergeben bekomme,
soll an die Suchfunktion H: übergeben werden.

Wenn nun in der txt H: gefunden wird, sollte die darüberliegende Zeile


"\\?\Volume{341e1d72-594d-11de-b993-806e6f6e6963}\"


in einem String gespeichert werden.


Hintergrund ist, dass ich das Mounten eines mit TrueCrypt verschlüsselten EXTERNEN Laufwerks automatisieren will, unabhängig davon, an welchem PC ich es anschließe und wie dort die Laufwerksbuchstabenbelegungen sind.
Meine Festplatte ist in zwei Partitionen unterteilt, auf der zweiten Partition läuft TrueCrypt, dass beim Anschließen automatisch das Laufwerk durch Starten der Bat (bis auf die Passworteingabe) entschlüsseln soll. Hierzu lasse ich
erst die Roots aller Laufwerksbuchstaben nach einer bestimmten File durchsuchen die auf meiner zweiten Partition liegt, wenn diese gefunden wird weiß ich, dass der vorherige Laufwerksbuchstabe zur ersten - verschlüsselten - Partition gehört, deshalb wähle ich den Buchstaben, der vor dem liegt, der in %ED% gespeichert ist.
Mit dem extrahierten String (\\?\Volume{341e1d72-594d-11de-b993-806e6f6e6963}\) kann ich mir nun einen Startparameter für TrueCrypt zusammenbauen.

Soweit die Theorie, in der Praxis haperts leider noch etwas im Bereich "Durchsuchen der Textdatei", ich hoffe ihr könnt mir hier helfen und ich hoffe, mein Beitrag ist nicht zu ausführlich.

Mit freundlichen Grüßen,

DMaaan
Mitglied: rubberman
08.07.2009 um 02:24 Uhr
Versuch mal was in der Art:
01.
@echo off &setlocal 
02.
 
03.
:: dein Vorspiel: (nur zu Testzwecken %ED% mit Wert I:) 
04.
Set "ED=I:" 
05.
 
06.
 
07.
:: ****Start 
08.
:: deine Textdatei (anpassen): 
09.
set file=c:\test\mountvol.txt 
10.
 
11.
Set "EDshort=%ED:~0,1%" 
12.
Set "LW=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" 
13.
for %%a in (%LW%) do ( 
14.
if defined EDfind goto weiter 
15.
call :sub1 %%a 
16.
17.
:weiter 
18.
for /f "tokens=*" %%a in (%file%) do ( 
19.
if defined string goto Verarbeitung 
20.
call :sub2 %%a 
21.
22.
 
23.
:sub1 
24.
if defined lwbefore ( 
25.
 if %EDshort%==%1 set "EDfind=%lwbefore%:\" 
26.
27.
set "lwbefore=%1" 
28.
goto :eof 
29.
 
30.
:sub2 
31.
if defined linebefore ( 
32.
 if %EDfind%==%1 set "string=%linebefore%" 
33.
34.
set "linebefore=%1" 
35.
goto :eof 
36.
:: ***Ende 
37.
 
38.
 
39.
:Verarbeitung 
40.
:: ab hier dein weiterer Code: (nur zu Testzwecken Ausgabe von %string%) 
41.
echo %string% 
42.
pause
Bitte warten ..
Mitglied: DMaaan
08.07.2009 um 10:23 Uhr
Vielen Dank, funktioniert perfekt!

MfG DMaaan
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Aus txt-Datei email-Adressen extrahieren
Frage von depperl1968Batch & Shell3 Kommentare

Hallo alle zusammen :-) mir liegt eine txt-Datei vor, aus der ich gerne die email-Adressen extrahieren würde. Dies kann ...

Batch & Shell
Mit Batch Zeilen aus TXT modifizieren
gelöst Frage von chef1568Batch & Shell4 Kommentare

Hallo zusammen, leider konnte ich mit den bisherigen Threads mein Problem bisher nicht lösen. Problemstellung: In einer Textdatei sind ...

Batch & Shell

Zeile mit Sonderzeichen in txt einfügen

gelöst Frage von FaysaxBatch & Shell1 Kommentar

Hallo miteinander, ich habe folgendes Problem: Ich habe eine xml Datei in eine txt umgewandelt. Nun möchte ich am ...

Batch & Shell

Letzte Zeile einer .txt in eine andere .txt ausschneiden per Batch

gelöst Frage von AlexIOTBatch & Shell4 Kommentare

Hallo zusammen, zu meinem obrigen Thema habe ich leider nur in Richtung löschen und nicht in Richtung ausschneiden etwas ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 TagenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 3 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 3 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 4 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement19 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android13 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...

Router & Routing
VPN hinter zweiter Fritzbox nutzen im Nachbarhaus
gelöst Frage von georg2204Router & Routing11 Kommentare

Hallo zusammen, ich blicke hier leider nicht mehr so ganz durch. In Haus 1 steht eine Fritzbox 7390, diese ...