Verwandte Beiträge
- Variable aus Text datei (2)
- Pfade aus Text-Datei auslesen, überprüfen und Dateinamen vom Pfad extrahieren. (5)
- Ein Wort aus Text-Datei kopieren mit einer Batch Datei (5)
- aus text datei auslesen und in batch verwenden (6)
- Verzeichnis aus Text Datei einlesen. Dort eine Datei manipulieren und das Ergebnis dann in eine neue Datei schreiben , dann aber in der nächsten Zeile weitermachen (4)
- durch Variable definierten Text in Batch finden und weiter geben (3)
- FOR Schleife mit Variablen aus txt Datei... (4)
- Variable aus Datei lesen? Einfacher weg gesucht. (4)
- Variable aus VBA in Tabelle einfügen (4)
- Set nur auf bestimmte Zeilen in einer Text-Datei ( cmd substr , left , etc ) (1)
- Batchausgabe in Text Datei (7)
- Batch Text Dateien durchsuchen und löschen. (8)
- Umbennen mittels Text Dateien (12)
- Aus VBscript eine Batch Datei aufrufen und Variablen übergeben. (6)
- Zeilen einlesen aus einer text datei (2)
- Name aus einer Text Datei per Batch Datei auslesen und überprüfen ob dieser auch in einer anderen Text Datei vorhanden ist (4)
- Batch soll Mail versenden, wenn der Ausdruck zur Filterung aus der Datei vorhanden ist (1)
- bestimmten Text per Batch aus txt auslesen (4)
- alle zeilen mit bestimmten informationen aus einer text datei filtern (22)
- mehr >>
Frage im Bereich
Variablen aus Text-Dateien in Batch-Einlesen
Geschrieben von nemolyx am 2006/07/07 um 21:15:25 Uhr, 4 Antworten, 11400 Aufrufe, Status: gelöst
Hallo alle zusammen,
auch wenn es vielleicht schön öfters angesprochen wurde, habe ich zu meinen Problem noch keinen Beitrag gefunden.
Mein Problem schildert sich wie folgt. Ich habe ein LoginScript geschrieben, welches die Pfadangaben als Variablen aus der "config.ini" auslesen und übernehmen soll. Inhaltlich sehen die Files wie folgt aus:
config.ini
setupsource=d:\meine programme\
LoginScript.cmd
@echo off
set setupsource=
set tmpDatei="E:\projekte\Batch Scripting\config.ini"
for /F %%x in ('findstr /i /r "setupsource" %tmpDatei%') do @set input=%%x
if not %ERRORLEVEL% == 0 goto fehler
set setupsource=%input:~9,30%
goto ende
:fehler
:ende
Mein Problem ist nun das bei der Übergabe der Variable %setupsource% statt "d:\meine programm" nur "d:\meine" übernommen wird.
Wie schaffe ich es das die komplette Zeile ausgelesen wird??? Hoffe ihr könnt mir weiterhelfen!!!
Vielen Dank im voraus
auch wenn es vielleicht schön öfters angesprochen wurde, habe ich zu meinen Problem noch keinen Beitrag gefunden.
Mein Problem schildert sich wie folgt. Ich habe ein LoginScript geschrieben, welches die Pfadangaben als Variablen aus der "config.ini" auslesen und übernehmen soll. Inhaltlich sehen die Files wie folgt aus:
config.ini
setupsource=d:\meine programme\
LoginScript.cmd
@echo off
set setupsource=
set tmpDatei="E:\projekte\Batch Scripting\config.ini"
for /F %%x in ('findstr /i /r "setupsource" %tmpDatei%') do @set input=%%x
if not %ERRORLEVEL% == 0 goto fehler
set setupsource=%input:~9,30%
goto ende
:fehler
:ende
Mein Problem ist nun das bei der Übergabe der Variable %setupsource% statt "d:\meine programm" nur "d:\meine" übernommen wird.
Wie schaffe ich es das die komplette Zeile ausgelesen wird??? Hoffe ihr könnt mir weiterhelfen!!!
Vielen Dank im voraus
Veröffentlichen Sie diesen Beitrag in Ihrem sozialen Netzwerk
4 Antworten
2
nemolyx schreibt am 2006/07/07 um 22:47:18 Uhr
den beitrag kenn ich.
Die Werte werden nach der Eingabe zB: "ClickMe2=welt da bin ich" (also mehrere Wörter mit Leerzeichen getrennt) korrekt in die "werte.txt" geschrieben. Jedoch ist mir die Syntax beim Auslesen ein wenig schleierhaft :
for /f "delims== tokens=1,2" %i in (werte.txt) do @Set %i=%j
also ich konnte damit keine werte auslesen. Zur Testzwecken habe ich die Syntax wie folgt angepasst:
for /f "delims== tokens=1,2" %%i in (werte.txt) do @echo %%i
Aber es werden keine Werte ausgegeben.
Die Werte werden nach der Eingabe zB: "ClickMe2=welt da bin ich" (also mehrere Wörter mit Leerzeichen getrennt) korrekt in die "werte.txt" geschrieben. Jedoch ist mir die Syntax beim Auslesen ein wenig schleierhaft :
for /f "delims== tokens=1,2" %i in (werte.txt) do @Set %i=%j
also ich konnte damit keine werte auslesen. Zur Testzwecken habe ich die Syntax wie folgt angepasst:
for /f "delims== tokens=1,2" %%i in (werte.txt) do @echo %%i
Aber es werden keine Werte ausgegeben.
3
nemolyx schreibt am 2006/07/07 um 23:28:08 Uhr
Kaum machts man richtig, gehts...! Lag wohl Kaffee!*g
Hier nochmal wie es funktioniert:
config.ini
source=c:\my programs
destination=d:\meine programme
LoginScript
for /f "delims== tokens=1,2" %%i in ('findstr "source" werte.txt') do @set source=%%j
echo das Quellverzeichnis ist %source%
Hier nochmal wie es funktioniert:
config.ini
source=c:\my programs
destination=d:\meine programme
LoginScript
for /f "delims== tokens=1,2" %%i in ('findstr "source" werte.txt') do @set source=%%j
echo das Quellverzeichnis ist %source%
4
Biber schreibt am 2006/07/07 um 23:45:57 Uhr
...bin mir keiner Schuld bewusst...
Bei mir tut es so (am CMD-Prompt):
Gruß
Biber
Bei mir tut es so (am CMD-Prompt):
01.
$cmd$set pr 02.
PROCESSOR_ARCHITECTURE=x86 03.
PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 2, GenuineIntel 04.
PROCESSOR_LEVEL=15 05.
PROCESSOR_REVISION=0102 06.
ProgramFiles=C:\Programme 07.
PROMPT=$$cmd$$$ 08.
09.
$cmd$set pr>werte.txt 10.
11.
$cmd$for /f "delims== tokens=1,2" %i in (werte.txt) do @Echo Set "%i=%j" 12.
Set "PROCESSOR_ARCHITECTURE=x86" 13.
Set "PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 2, GenuineIntel" 14.
Set "PROCESSOR_LEVEL=15" 15.
Set "PROCESSOR_REVISION=0102" 16.
Set "ProgramFiles=C:\Programme" 17.
Set "PROMPT=$$cmd$$$" 18.
19.
$cmd$Gruß
Biber





http://www.administrator.de/Batch%3A_Wert ...