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

Auswerten von Zeilen ohne bestimmte Buchstabenfolgen

Frage Entwicklung Batch & Shell

Mitglied: Senseless

Senseless (Level 1) - Jetzt verbinden

01.11.2009 um 16:38 Uhr, 3158 Aufrufe, 3 Kommentare

Ich möchte (abhängig von einer bestimmten Nutzereingabe) unterschiedliche Zeilen nach einem Wert durchsuchen, den Inhalt der Zeile aber ohne den Wert ausgeben.

Ich habe ein kleines Batch-Script geschrieben, indem sich die Sprache einstellen lässt (Deutsch und Englisch). Da ich dzu Variablen benutze und nicht das ganze Script zweimal schreiben möchte, habe ich ein Problem:

Zur Identifikation der Zeilen habe ich Werte genutzt und in eine andere Datei geschrieben, z.B.:

01.
AE1 Welcome 
02.
AE2 Please setup your current settings! 
03.
AD1 Willkommen! 
04.
AD2 Bitte stellen Sie Ihre momentanen Einstellungen ein!
Problem:
Die Zeilen sollen ausgelesen und dann als Variablen gesetzt werden - nur ohne AE1, AE2, etc.!

Hab's schon mit find, findstr und ein paar Varianten von for /f... probiert, leider erfolgslos.
Da ich in diesem Bereich (andere Dateien auslesen und Variablen setzen) vollkommen neu und bislang unerfahren bin, bitte ich euch um Hilfe!
Mitglied: 60730
01.11.2009 um 17:33 Uhr
Auch dir eine Begrüssung deiner Wahl...

An deiner Stelle würde ich das ganz anders machen....(so wie es fast jeder macht)

01.
If "%lang%=deu" set "langfile=deu.lng" 
02.
If "%lang%=enu" set "langfile=enu.lng"
...und nicht alles in einer Riesen Language Datei.

Gruß
Bitte warten ..
Mitglied: rubberman
01.11.2009 um 17:37 Uhr
Hallo Senseless,

für das Beispiel:
-die Datei heißt Werte.txt
-nach AE1, AE2 ... soll gesucht werden.

01.
@echo off &setlocal 
02.
set such=AE2 
03.
 
04.
for /f "tokens=1*" %%i in ('findstr /b /c:"%such%" "Werte.txt"') do set "var=%%j" 
05.
echo %var% 
06.
pause
oder der erste Teil der Zeile dient als Variablenname:
01.
@echo off &setlocal 
02.
for /f "tokens=1*" %%i in (Werte.txt) do set "%%i=%%j" 
03.
echo %AE2% 
04.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: Senseless
02.11.2009 um 20:26 Uhr
Danke für eure Ideen und entschuldigt mich, dass ich nicht so frei war und eine Begrüßung geschrieben habe, ich war in Gedanken weniger im Thread sondern mehr in der verzwickten Batch-Datei...

@ TimoBeil:

Dein Vorschlag klingt gut und vernünftig, nur das Problem mit den Zeilen bleibt: Wie bekomme ich die Übersetzung/den Text aus dem File, ohne die vorangestellte Variable?
Ich mache mir weniger Sorgen um das Differenzieren der Sprachen, da ich mir folgendes ausgedacht habe:

- Es gibt je Sprache 35 Zeilen an Text
- Der Syntax ist wie folgt:
A%SPRACHE%%ZEILE%
A ist ein ferster Wert ohne weitere Bedeutung, %SPRACHE% ist endweder E (Englisch) oder D (Deutsch), die %Zeile% erklärt sich von alleine.

Die Datei sieht so aus:

01.
[ENGLISH] 
02.
[EN_INTERACTIONS] 
03.
 
04.
AE1	Press Enter to continue 
05.
AE2		Note some facts: 
06.
...
Die Einträge in eckigen Klammer dienen nur der Orrientierung in der Datei (werde ich nicht mehr brauchen, weil ich es umarbeiten werde, wie du es mir empfohlen hast).

Um erstmal alle Variablen auszuwerten habe ich mir folgendes am Anfang des Scriptes einfallen lassen:

01.
set ZEILE=0 
02.
:set_lang 
03.
set zeile=%zeile%+1 
04.
if %zeile%==36 goto finished_lang 
05.
echo # # # Loading language file... 
06.
echo           Currently loading: A%SPRACHE%%ZEILE%... 
07.
REM Hier muss noch der korrekte Befehl zur Auswertung ohne A%SPRACHE%%ZEILE% der Zeile wiederzugeben... 
08.
goto set_lang 
09.
:finished_lang 
10.
echo # # # Finished loading %SPRACHE%-strings! 
11.
REM Unten kommen dann die schon bestehenden Instanzen hin...
@ rubberman:

Danke für deinen Ansatz, aber leider gibt mir schon die CMD folgendes als Ergebnis aus:
"%%i" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Eine Batch zeigt mir folgendes:
Echo ist ausgeschaltet (OFF).

Beide hatten folgende Eingabe:

01.
@echo off &setlocal  
02.
set such=AE2  
03.
 
04.
for /f "tokens=1*" %%i in ('findstr /b /c:"%such%" "ConvertIt_LANG-FILE.ini"') do set "var=%%j 
05.
echo %var%  
06.
pause
Wie gesagt bin ich nicht sehr bewandert in der Benutzung des FOR-Befehles...

Wäre nett, wenn ihr mir weiterhelfen würdet!
Aber danke schonmal für eure Ideen!

Bye, Senseless
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Zeile für Zeile auslesen und jede Zeile eine bestimmte Variable zuweisen
gelöst Frage von CerauxBatch & Shell4 Kommentare

Hallo, ich habe schon überall gesucht und noch nichts gefunden wie man Zeilen bestimme Variablen zuweist. Zum Beispiel: file.txt: ...

Batch & Shell
Bestimmte Zeilen einer Datei addieren - Linux
gelöst Frage von lapvikaBatch & Shell2 Kommentare

Hallo zusammen, ich habe eine Datei die wie folgt aussieht: 536870912 - System1_2 536870912 - System1_3 536870912 - System1_4 ...

PHP
PHP: Wert nur in bestimmter Zeile erhöhen
gelöst Frage von Sven32PHP7 Kommentare

Hallo Zusammen, ich habe mir ein kleines Script gebastelt, dass mir in einer Textdatei die als Datenbank fungiert einen ...

Batch & Shell
Sed - Zeile mit bestimmten Anfang löschen
gelöst Frage von PanubuBatch & Shell2 Kommentare

Hallo zusammen, ich habe schon mal ein wenig mit sed "herumgespielt" aber noch nicht wirklich zu dem Ergebnis gekommen, ...

Neue Wissensbeiträge
Batch & Shell

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

Information von Penny.Cilin vor 19 StundenBatch & Shell8 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 21 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
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, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...