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 Erste und zweite zeilen von .txt file auslesen

Mitglied: aivilon

aivilon (Level 1) - Jetzt verbinden

14.02.2011 um 16:30 Uhr, 5795 Aufrufe, 20 Kommentare

die Zeilen sind Pfäde, sprich, sie müssten wenn möglich am stück eingelesen werden, also auch z.B. c:\ich und du\schrieben ein Batchprog\Config.txt

Hallo zusammen



For /F "tokens=1-2 delims=.," %%a in (Config.txt) do (
Set Q=%%b
Set Z=%%a
)



Das wäre mal mein Code...nur liest der aus meiner Textdatei immer nur die 2te zeile, respektive die erste von unten aus, und bei der nächsten kommt dann beim echo folgendes heraus:
ECHO ist ausgeschaltet (OFF).

Mein Textfile ist momentan noch simpel:
h:\test1
h:\test2


Das Batch soll nun BEIDE in je eine Variable setzen. Sprich Variable %Q% und Variable %Z%
(gleiche reihenfolge wie die Pfäde im .txt, sprich: %Q%=h:\test1 und %Z%=h:\test2)

dies sollte aber auch funktionieren, wenn man zum beispiel einen Pfad wie diesen hat:
c:\Dokumente und Einstellungen\test1

also %Q%=c:\Dokumente und Einstellungen\test1


Hoffe ihr kommt draus was ich brauche =)
Mitglied: bastla
14.02.2011 um 16:36 Uhr
Hallo aivilon!

Etwa so:
01.
@echo off & setlocal 
02.
set "Datei=config.txt" 
03.
 
04.
set /p Q=<"%Datei%" 
05.
set "Z=" 
06.
for /f "usebackq skip=1 delims=" %%i in ("%Datei%") do if not defined Z set "Z=%%i" 
07.
 
08.
echo %Q% 
09.
echo %Z%
Grüße
bastla

P.S.:
die Zeilen sind Pfäde
Sich mit Pfäden an Montägen herumschlägern zu müssen, is natürlich schon hävy ...
Bitte warten ..
Mitglied: 60730
14.02.2011 um 16:41 Uhr
moin,

ich nehme dem Bastla mal etwas ab.... alles zurück, was keine Miete zahlt und gehe nicht über Los direkt auf die stille Treppe in die Ecke
Bitte warten ..
Mitglied: Biber
14.02.2011 um 16:45 Uhr
Moin aivilon,

...oder so
01.
@echo off & setlocal 
02.
FOR /F "delims=" %%i in (QZIni.ini) do if defined myQ (Set "myZ=%%i") else set "myQ=%%i" 
03.
:: "Set my" listet alle Variablem %my...% auf, hier also hoffentlich %myQ% und %myZ% 
04.
Set my
Grüße und pfäd di
Biber
[Edit @Skyemugen] Montage..... Tippfehler 5myQ% statt %myQ% korrigiert [/Edit]
Bitte warten ..
Mitglied: Skyemugen
14.02.2011 um 16:53 Uhr
Zitat von Biber:
5myQ%

Aloha Biber,

huiiii so wird das aber nix :P

greetz André ;)
Bitte warten ..
Mitglied: bastla
14.02.2011 um 17:06 Uhr
@T-Mo
Nur, wenn dann vielleicht noch die eine oder andere Zeile in der "config.txt" dazukommen sollte, musst Du das "if not defined Z" doch wieder hervorkrämen ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
14.02.2011 um 17:07 Uhr
@Biber
Hätte ich auch schon so vorgehabt, aber dann aus ädukativen Gründen die andere Variantä gewählt ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
14.02.2011 um 17:17 Uhr
@bastla
Zitat von bastla:
Hätte ich auch schon so vorgehabt, aber dann aus ädukativen Gründen die andere Variantä gewählt ...
So'n gründelndes Äquadukt hätte ich auch gärne in meinen hängenden Gärten ...
.
...ist immer so montäglich hier... und dieses Jahr fällt sogar der Valendienstag auf einen Montag...

Grüße
Biber
Bitte warten ..
Mitglied: bastla
14.02.2011 um 17:29 Uhr
[OT] @Biber
und dieses Jahr fällt sogar der Valendienstag auf einen Montag...
Naja, solange es kein Freitag, und dann vielleicht sogar noch ein 13., ist ...

BTW: Übermorgen hat der Papst auch schon wieder Namenstag ...

Grüße
bastla
[/OT]
Bitte warten ..
Mitglied: 60730
14.02.2011 um 17:42 Uhr
Zitat von bastla:
@T-Mo
Nur, wenn dann vielleicht noch die eine oder andere Zeile in der "config.txt" dazukommen sollte, musst Du das "if
not defined Z
" doch wieder hervorkrämen ...

@bastla
  • willst du mein feuchtes Brötchen quälen - oder kann ich nicht mehr zählen?
  • Montags an den Marterpfählen fängt mein Hirn an zu blähen?

Erste und zweite zeilen von .txt file auslesen


Hülfe Ziiiiiiiiviieee bring meine Augentropfen
Wer lesen kann ist klar im Vorteil

Grüße
bastla
Gesprisen sei Bastla der Erleuchter
Bitte warten ..
Mitglied: bastla
14.02.2011 um 17:49 Uhr
@T-Mo
Äbän - wenn die erste und zweite (nicht: letzte) Zeile (ich hab mich da mal an den Threadtitel gehalten) gefragt sind, sollte das eigentlich so passen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
14.02.2011 um 18:29 Uhr
[OT] @bastla
Zitat von bastla:
BTW: Übermorgen hat der Papst auch schon wieder Namenstag ...
Hoffentlich denkt seine Frau auch dran... Namenstage sind wichtig bei den Katholiken...
[/OT]

@aivilion
bevor wir ganz vom Thema abkommen... eine "config"-Datei, wie einfach auch immer, sollte aber nicht aus namenslosen Zeilen bestehen,
die in einer bestimmten Reihenfolge auftauchen müssen. Wenn dann noch dazu kommt, dass es minimal zwei Zeilen sein sollen und maximal auch zwei, damit es klappt...

Ich möchte nicht, dass ich irgendwann in irgendeiner Intensivstation lande, in der die Geräte mit ähnlich robusten Config-Dateien programmiert wurden.

Orientiere dich lieber an den "üblichen" +.ini-Dateien, die MINIMALST wenigstens Zeilen mit dem Aufbau haben.
VariablennameX=WertY


Wenn deine Pseudo-Configdatei "QZ.ini" wenigstens so aussähe:
MaiQuelle=c:\Dokumente und Einstellungen\test1 
MaiZiel=z:\irgendein anderer Pfad
... dann könntest du die beiden Dei-Variablen einfach so setzen....(Demo am CMD-Prompt mit "@echo Set.." )
>for /f "delims=" %i in ('findstr "=" QZIni.ini') do @echo Set "%i" 
Set "MaiQuelle=c:\Dokumente und Einstellungen\test1" 
Set "MaiZiel=z:\irgendein anderer Pfad"
Grüße
Biber

P.S. Und sieh es uns nach, dass wir montachs immer etwas schräg drauf sind...
Bitte warten ..
Mitglied: aivilon
16.02.2011 um 13:28 Uhr
Zitat von Biber:
P.S. Und sieh es uns nach, dass wir montachs immer etwas schräg drauf sind...

haha macht nix xD ich musste grad lachen...vorallem weil ich anfangs den mit pfäde nicht gepeilt hab xD

nahja...eben zum thema...

An die .ini Datei hab ich auch schon gedacht...aber hab dann lieber die txt datei genommen.

und jap...es wäre die erste und zweite Zeile...
momentan habe ich anstelle von einer .txt datei mit zwei zeilen, zwei txt dateien mit je einer zeile...
der Ihnalt dieser .txt (später evtl auch .ini) würde so aussehen:

qpath=c:\pfad
zpath=d:\pfad

Zitat von Biber:
... dann könntest du die beiden Dei-Variablen einfach so setzen....(Demo am CMD-Prompt mit "@echo Set.." )
for /f "delims=" %i in ('findstr "=" QZIni.ini') do @echo Set "%i" Set "MaiQuelle=c:\Dokumente und Einstellungen\test1" Set "MaiZiel=z:\irgendein anderer Pfad"
for /f "delims=" %i in ('findstr "=" QZIni.ini') do @echo Set "%i"
Set "MaiQuelle=c:\Dokumente und Einstellungen\test1"
Set "MaiZiel=z:\irgendein anderer Pfad"

nope...um den pfad während dem Batchprozess zu ändern, lösche ich die Datei und erstelle diese neu (einfachster weg), somit
bildet sich kein ratten###.


und jap, die Variaben sollten im endeffekt so aussehen (beispiel):

Variable1="c:\pfad"
Variable2="d:\pfad"


@ Biber

Sorry ich konnte mit deinem Lösungsvorschlag oben nichts anfangen...


# @echo off & setlocal
  1. FOR /F "delims=" %%i in (QZIni.ini) do if defined myQ (Set "myZ=%%i") else set "myQ=%%i"
  2. :: "Set my" listet alle Variablem %my...% auf, hier also hoffentlich %myQ% und %myZ%
  3. Set my

Also würde dies auf mein Beispiel so aussehen?:

# @echo off
  1. FOR /F "delims=" %%i in (Config.ini) do if defined myQ (Set "Z=%%i") else set "Q=%%j"
  2. :: "Set my" listet alle Variablem %my...% auf, hier also hoffentlich %myQ% und %myZ%
  3. Set my

Und der Output wäre?:

c:\pfad
d:\pfad

habe ich das richtig interpretiert?


Grüsse

PS: Sorry fürs viele Aktualisieren...hab die Formatierungen noch nicht im griff ^^
Bitte warten ..
Mitglied: Biber
16.02.2011 um 13:49 Uhr
Moin aivilon,

Zitat von aivilon:
@ Biber

> # @echo off
> # FOR /F "delims=" %%i in (Config.ini) do if defined myQ (Set "Z=%%i") else set "Q=%%j"
> # :: "Set my" listet alle Variablem %my...% auf, hier also hoffentlich %myQ% und %myZ%
> # Set my

Und der Output wäre?:

> c:\pfad
> d:\pfad

habe ich das richtig interpretiert?

Ja nee, nur fast richtig ...

von hinten aufgerollt..
Der Befehl "Set my" listet alle Umgebungsvariablen auf, die mit den Buchstaben "my" beginnen.
-> Also wäre es nicht unschlau, wenn denn dein Schnipsel eine handvoll "eigene" Variablen definieren will7muss/soll, diese zum leichteren Überprüfen und Verwalten einheitlich mit einem gleichen Präfix beginnen zu lassen.
Oder anders formuliert. Wenn ich einen Schnipsel, den ich im Jahr 2003 geschrieben habe heute anpassen müsste,
dann würde ich vielleicht etwas Schwierigkeiten mit dem Wieder-Nachvollziehen haben, wenn da irgendwelchen Variablen %Z% und %Q% verwendet werden.
Bei Variablen namens "MeineQuelle" und "MeinZiel" oder "mybackupQuelle"/"myBackupZiel" würde ich es etwas scheller verstehen.

Insofern... wenn du deine Variablen weiterhin %Q% und %Z% nennst, dann ist natürlich ein Abfragen "nur dieser" Variablen mit einem SET-Befehl ...hmm, nicht unmöglich, aber relativ umständlich.

Grüße
Biber
Bitte warten ..
Mitglied: aivilon
16.02.2011 um 14:04 Uhr
Zitat von Biber:
Oder anders formuliert. Wenn ich einen Schnipsel, den ich im Jahr 2003 geschrieben habe heute anpassen müsste,
dann würde ich vielleicht etwas Schwierigkeiten mit dem Wieder-Nachvollziehen haben, wenn da irgendwelchen Variablen $Z% und
%Q% verwendet werden.
Bei Variablen namens "MeineQuelle" und "MeinZiel" oder "mybackupQuelle"/"myBackupZiel"
würde ich es etwas scheller verstehen.


Jop...da geb ich dir halbwegs recht...aber einige Zeilen weiter unten werden die Variablen Z und Q mit mehr geschnippsel (für archivierung)
in je eine neue Variable gekickt...Quelle, Zielfull und Zieldiff
dementsprechend werd ich nicht grosse mühe haben. . .


Zitat von Biber:^^
Insofern... wenn du deine Variablen weiterhin %Q% und %Z% nennst, dann ist natürlich ein Abfragen "nur dieser"
Variablen mit einem SET-Befehl ...hmm, nicht unmöglich, aber relativ umständlich.

Den peil ich net
die For schleife muss ja vom prinzip nur zwei zeilen aus einem .txt, respektive .ini auslesen und diese für einige schritte in die Variable Q und Z kicken...

Das geht nie bei mir...er liest immer eine aus (%%B anstelle von %%A) und bei der anderen gibts dann einfach nen error als string...


Greez
Bitte warten ..
Mitglied: bastla
16.02.2011 um 14:30 Uhr
Hallo aivilon!

Bibers Aussage könnte (noch stärker betont) so aussehen:
... ein Abfragen "nur dieser" Variablen mit "nur einem" SET-Befehl ...
- eben wegen des fehlenden gemeinsamen Bestandteils am Anfang des Variablennamens - wenn Du mal probeweise in einer CMD-Shell nacheinander
01.
set 
02.
set p 
03.
set pro 
04.
set proc
eingibst, siehst Du, worum es geht ...
Das geht nie bei mir...er liest immer eine aus (%%B anstelle von %%A) und bei der anderen gibts dann einfach nen error als string...
... sollte doch eigentlich nach meinem (sehr weit oben stehenden) Ansatz vom Tisch sein (wobei anzumerken ist, dass "for /f" anhand der angegebenen Werte für "tokens" und "delims" nicht die Datei, sondern die jeweilige Zeile zerlegt).

Grüße
bastla
Bitte warten ..
Mitglied: aivilon
16.02.2011 um 15:20 Uhr
Zitat von bastla:
Hallo aivilon!

Bibers Aussage könnte (noch stärker betont) so aussehen:
> ... ein Abfragen "nur dieser" Variablen mit "nur einem" SET-Befehl ...
- eben wegen des fehlenden gemeinsamen Bestandteils am Anfang des Variablennamens - wenn Du mal probeweise in einer CMD-Shell
nacheinander
01.
set 
02.
> set p 
03.
> set pro 
04.
> set proc 
05.
> 
eingibst, siehst Du, worum es geht ...
> Das geht nie bei mir...er liest immer eine aus (%%B anstelle von %%A) und bei der anderen gibts dann einfach nen error als
string...
... sollte doch eigentlich nach meinem (sehr weit oben stehenden) Ansatz vom Tisch sein (wobei anzumerken ist, dass "for
/f
" anhand der angegebenen Werte für "tokens" und "delims" nicht die
Datei, sondern die jeweilige Zeile zerlegt).

Grüße
bastla

Ahaaaa...ok das von bieber peil ich jetzt...kurzgesagt, wenn ich die variablen ausgeben möchte, könnte es ein durcheinander geben...
ich dachte beim quelltext lesen...

mit deimen ansatz meinst du wohl:

@echo off & setlocal

set "Datei=config.txt"

set /p Q=<"%Datei%"
set "Z="
for /f "usebackq skip=1 delims=" %%i in ("%Datei%") do if not defined Z set "Z=%%i"

echo %Q%
echo %Z%

Ich brauche aber die Variable Q trotzdem aus der Datei, respektive aus der ersten Zeile der ini datei, und Z aus der zweiten zeile der ini datei


Grüsse
Bitte warten ..
Mitglied: bastla
16.02.2011 um 15:25 Uhr
Hallo aivilon!
Ich brauche aber die Variable Q trotzdem aus der Datei, respektive aus der ersten Zeile der ini datei, und Z aus der zweiten zeile der ini datei
Und was (anderes) befindet sich nach Deinen Tests in den beiden Variablen? Heißt Deine "ini"-Datei inzwischen nicht mehr "config.txt"?

Grüße
bastla

P.S.: Wie "Code"-Formatierung zu erreichen ist, steht hier ...
Bitte warten ..
Mitglied: Skyemugen
16.02.2011 um 15:33 Uhr
Zitat von aivilon:
Ich brauche aber die Variable Q trotzdem aus der Datei, respektive aus der ersten Zeile der ini datei, und Z aus der zweiten zeile
der ini datei

Aloha,

*einmisch* und genau das tut es auch (mehrfach getestet und sogar in einem anderen Thread als Lösung hingestellt & funktionstüchtig), der Fehler muss also dann irgendwo bei dir liegen =)

greetz André
Bitte warten ..
Mitglied: aivilon
17.02.2011 um 10:07 Uhr
Also ich habs jetzt mal ausversucht.

Batchdatei erstellt...diesen Code rein:

01.
@echo off & setlocal 
02.
set "Datei=config.txt" 
03.
set /p Q=<"%Datei%" 
04.
set "Z=" 
05.
for /f "usebackq skip=1 delims=" %%i in ("H:\Prog\BackupMe\DATEIEN\BAT\config.ini") do if not defined Z set "Z=%%i" 
06.
 
07.
echo %Q% 
08.
echo %Z% 
09.
 
10.
pause
und noch ne ini datei mit 2 pfaden auf 2 zeilen geschrieben...

der output des batchprozesses ist:

Das System kann die angegebene Datei nicht finden.
ECHO ist ausgeschaltet (OFF).
h:\test2
Bitte warten ..
Mitglied: aivilon
17.02.2011 um 10:10 Uhr
hoooopala...
ok...jetzt gehts...
hatte oben noch config.txt drinn...

Merci =)
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Nach Zeilen aus der ersten Textdatei in der zweiten Textdatei suchen und diese dort entfernen

gelöst Frage von takitanoUbuntu3 Kommentare

Frohes Neues an alle! Ich habe 2 Textdateien. Die erste Textdatei beinhaltet Suchbegriffe, die ich in der zweiten Datei ...

PHP

TXT Datei auslesen und bestimmte Zeilen in Variable setzen

gelöst Frage von 126594PHP11 Kommentare

Hallo zusammen, vorweg muss ich sagen, ich bin (bis jetzt) absoluter Neuling was PHP angeht. Ich will aus einer ...

Batch & Shell

Einzelne Zeilen in txt Datei speichern und auslesen

gelöst Frage von noah1400Batch & Shell7 Kommentare

Liebe Forum-Mitglieder Ich habe da so eine Frage: Ich bin gerade dabei ein PW abfrage mit Batch zu machen. ...

Entwicklung

Bestimmte zeile aus txt datei auslesen und sich aus zeile 100 einen wert anzeigen lassen ?

gelöst Frage von bob777Entwicklung12 Kommentare

Hallo Suche einen Weg sich aus einer .config (txt) datei einen Wert Spielzeit auszulesen und anzuzeigen? Kann das irgendwer ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 11 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 14 StundenAdministrator.de Feedback10 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...