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

Zeichenkette aus txt-Datei auslesen, teilen, und mit Trennzeichen versehen

Frage Entwicklung Batch & Shell

Mitglied: kkboy94

kkboy94 (Level 1) - Jetzt verbinden

11.06.2010 um 22:30 Uhr, 6119 Aufrufe, 8 Kommentare

Hey Leute

Ich weiß, das ist mein erster Beitrag
aber ich dachte es wär die beste idee, direkt hier zu Fragen, denn hier wurde mir schon oft geholfen.

Mein Problem sieht folgendermaßen aus:

Ich habe mir eine batch Datei geschrieben, die einen Wert aus der Registry ausliest und in einer Textdatei speichert.

Nun ist dieser Wert zusammenhängend und hat insgesamt 20 Zeichen die in jeweils 4er-Häppchen zerlegt werden sollen. Die Häppchen sollen dann durch Bindestriche getrennt werden.

Als Beispiel mal einen Wert, wie er aussehen könnte:
44T2SL8S8DDTYQ8E155F
am Ende soll dann sowas da stehen
44T2-SL8S-8DDT-YQ8E-155F

Ich hoffe, dass ihr mir helfen könnt.

Danke schonmal im Voraus


MfG Karsten
Mitglied: bastla
12.06.2010 um 00:15 Uhr
Hallo kkboy94!

Eigentlich sollte es nicht nötig sein, eine Textdatei zu erstellen - poste doch bitte (unter "<code>"- "</code>"-Tags) Deinen bisherigen Batch ...
Um aber konkret auf Deine Frage zu antworten: Unter der Annahme, dass der angesprochene String in der ersten Zeile der Datei steht, könntest Du die gewünschte Formatierung so erhalten:
01.
@echo off & setlocal 
02.
set /p Wert=<"D:\Die Textdatei.txt" 
03.
set "Wert_formatiert=%Wert:~,4%-%Wert:~4,4%-%Wert:~8,4%-%Wert:~12,4%-%Wert:~16%" 
04.
echo %Wert_formatiert%
Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
12.06.2010 um 11:53 Uhr
Erst einmal Danke für die schnelle Hilfe.
Ich werds mal ausprobieren.

Da die komplette Batch relativ lang ist, stelle ich hier nur mal den betreffenden Teil rein.
01.
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Activision\Call of Duty 4" /V codkey >NUL 2>&1 
02.
IF %ERRORLEVEL% == 1 ( 
03.
   GOTO enderror 
04.
) ELSE ( 
05.
   FOR /F "Skip=2 tokens=2*" %%i IN ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Activision\Call of Duty 4" /V "codkey"') do set "codkey=%%j" 
06.
07.
echo Ihr aktueller Key ist %codkey% 
08.
echo Er befindet sich im Backup-Ordner 
09.
echo %codkey% > "%CD%\codkey.txt" 
10.
move "%CD%\codkey.txt" "%CD%\Backup\"
Hoffe ihr könnt damit was anfangen.

PS:ch hab mir heut morgen dann auch nochmal Gedanken gemacht. Es stimmt ja schon, dass es unsinnig wäre eine Textdatei zu erstellen, aus zulesen, verändern und wieder ab zupspeichern.


MfG Karsten

EDIT:Wie würde das alles aussehen, wenn in der Textdatei noch mehrere Zeilen vor dem zu bearbeitenden String stehen?
Nachher soll der bearbeitete Wert wieder an die txt zurückgegeben werden
EDIT2:
01.
set /p Wert=<"D:\Die Textdatei.txt"  
02.
set "Wert_formatiert=%Wert:~,4%-%Wert:~4,4%-%Wert:~8,4%-%Wert:~12,4%-%Wert:~16%" 
Was bedeuten diese Zeilen? Manche Sachen sind mir noch unklar (Der Operator bei "set /p", und die vielen %, ~ und die Werte (4; 4,4; 8,4 usw...))

EDIT3:

01.
@echo off & setlocal 
Das "@echo off" hab ich bei meinen Batchs auch immer vorne dran stehen, aber was hat setlocal für eine Bedutung?
Bitte warten ..
Mitglied: bastla
12.06.2010 um 16:18 Uhr
Hallo kkboy94!

Könntest Du, sobald das gesamte Konzept fertig ist, Dein Vorhaben vollständig darstellen (jetzt sieht es ja eher nach "Suchen / Ersetzen" aus, wobei ich nicht wüsste, nach welchem Begriff zu suchen wäre)?

In der Zwischenzeit sollte die Onlinehilfe
setlocal /? 
set /?
Dir vielleich schon erste Anhaltspunkte zu Deinen Fragen liefern.

Was das "set /p" anlangt: Damit wird eine Eingabe, die mit Enter abgeschlossen wird, entgegengenommen und in der angegebenen Variable gespeichert - in diesem Fall kommt die "Eingabe" eben aus einer Datei (konkret: aus dem Beginn der Datei bis zum ersten Enter = aus der ersten Zeile der Datei) ...

Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
12.06.2010 um 16:31 Uhr
Also...
Der Sinn meines Vorhaben ist folgender:
Es soll eib Registrierungsschlüssel aus der Registry ausgelsen werden, in Stücke geteilt und in eine Textdatei abgelegt werden, damit man bei Neuinstallation den gleichen Schlüssel wieder benutzen kann.
Die Textdatei sollte dann so in etwa aussehen:
01.
Der gesicherte Schlüssel ist: 
02.
44T2-SL8S-8DDT-YQ8E-155F
Bitte warten ..
Mitglied: bastla
12.06.2010 um 17:13 Uhr
Hallo kkboy94!
01.
set "codkey=" 
02.
FOR /F "Skip=2 tokens=2*" %%i IN ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Activision\Call of Duty 4" /V "codkey"') do set "codkey=%%j" 
03.
if not defined codkey goto :enderror 
04.
set "key=%codkey:~,4%-%codkey:~4,4%-%codkey:~8,4%-%codkey:~12,4%-%codkey:~16%" 
05.
echo Ihr aktueller Key ist %key% 
06.
echo Er befindet sich im Backup-Ordner 
07.
> "Backup\codkey.txt" echo Der gesicherte Schlüssel ist: 
08.
>>"Backup\codkey.txt" echo %key%
Grüße
bastla

P.S.: Die Verwendung von %cd% am Beginn einer Pfadangabe ist witzlos, da der aktuelle Pfad ja ohnehin schon %cd% ist ...
Bitte warten ..
Mitglied: kkboy94
12.06.2010 um 21:49 Uhr
Hat super funktioniert. Danke für die Hilfe. Funktioniert 1a
01.
set "key=%codkey:~,4%-%codkey:~4,4%-%codkey:~8,4%-%codkey:~12,4%-%codkey:~16%" 
Den Teil habe ich immer noch nicht verstanden.
So wie ich mir das nun denke ist dieser Teil ":~,4" für den ersten 4er-Block zuständig.
Demnach müsste ":~4,4" doch für den 2. 4er-Block da sein. Aber der zweite 4er Block hat doch das 8. Zeichen als letztes. Also warum ist der Teil dann nicht ":~8"
Das müsste mir noch erklärt werden.
Ausprobiert hab ichs schon --> es ist so wies sein sollte, aber ich verstehs halt nich.


MfG Karsten
Bitte warten ..
Mitglied: bastla
13.06.2010 um 00:17 Uhr
Hallo kkboy94!

Die beiden Werte bedeuten
  • Offset (wieviele Zeichen vom Anfang weg sollen übersprungen werden (beim ersten Teilstring steht nix vor dem Komma, was mit 0 oder mit "Fang ganz vorne an!" gleichzusetzen ist)
  • Zeichenanzahl (daher immer 4)

Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
13.06.2010 um 11:03 Uhr
Ahh ok gut, danke für die Hilfe bastla.


MfG Karsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Unbekannte Zeichenkette aus txt mit Zeilenangabe auslesen
gelöst Frage von IForeverBatch & Shell4 Kommentare

Hallo Community :) Nach über 4 Stunden herum probieren habe ich es aufgegeben und muss hier um Rat bitten ...

Batch & Shell
Bestimmten Teil eines String aus einer XML-Datei auslesen
gelöst Frage von Dnis822Batch & Shell13 Kommentare

Hallo zusammen, ich stehe vor folgendem Problem: Ich habe eine XML-Datei die bspw. so aussieht: <Url1> <Directory>C:\MeinVerzeichnis\test\</Directory> 'Name' und ...

Microsoft Office
Excel VBA: mehrere txt-Dateien importieren, Zeilenumbruch als Trennzeichen
gelöst Frage von jojojoMicrosoft Office11 Kommentare

Hallo zusammen. seit ein paar Tagen versuche ich vergeblich (weil ich praktisch keine Ahnung von Makros bzw. VBA habe) ...

Batch & Shell
Einen bestimmten Teil einer Textdatei auslesen
gelöst Frage von Focus1610Batch & Shell5 Kommentare

Hallo, ich brauche mal einen Denkanstoß. Ich bekomme per FTP von einem Kunden täglich mehrere Textdateien. Diese haben unterschiudlich ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 6 StundenBatch & Shell7 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 8 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...