Batch - Bestimmte Zeile aus .txt in Variable einlesen
Hallo erstmal..
Habe mir hier schon einige Tipps & Infos als anonymer User geholt, aber nun musste ich mal selbst auf mich abgestimmte Hilfe einholen (;
Mein Problem:
Ich habe eine Textdatei mit vielen verschiedenen Links (1 Link pro Zeile).
Nun will ich mit Hilfe einer Batch Datei, den Link EINER bestimmten Zeile in eine Variable einlesen und dann mit Firefox öffnen.
Ich hab hier zwar schon viel mit Variabeln gelesen, leider aber nur das einlesen von mehreren Zeilen gefunden, und konnte es nicht für mich abändern.
In etwa hatte ich mir das so vorgestellt
- Zeile 1 der Datei C:\test.txt -> Variable
- start /w "firefox.exe" "Variable"
- das wars (;
Für euch Batchprofis kein Problem oder? Wäre nett hier Hilfe zu bekommen
MfG
Habe mir hier schon einige Tipps & Infos als anonymer User geholt, aber nun musste ich mal selbst auf mich abgestimmte Hilfe einholen (;
Mein Problem:
Ich habe eine Textdatei mit vielen verschiedenen Links (1 Link pro Zeile).
Nun will ich mit Hilfe einer Batch Datei, den Link EINER bestimmten Zeile in eine Variable einlesen und dann mit Firefox öffnen.
Ich hab hier zwar schon viel mit Variabeln gelesen, leider aber nur das einlesen von mehreren Zeilen gefunden, und konnte es nicht für mich abändern.
In etwa hatte ich mir das so vorgestellt
- Zeile 1 der Datei C:\test.txt -> Variable
- start /w "firefox.exe" "Variable"
- das wars (;
Für euch Batchprofis kein Problem oder? Wäre nett hier Hilfe zu bekommen
MfG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 105749
Url: https://administrator.de/contentid/105749
Ausgedruckt am: 16.11.2024 um 03:11 Uhr
8 Kommentare
Neuester Kommentar
Ok dann hatte ich dich Falsch verstanden.. Ich bin auch nicht so ein Batch Pro .. aber aus diesem Beitrag
EINE Zeile aus TXT-Datei auslesen
und ein bisschen Experimentierfreude konnte ich das für dich Bauen.
Dieses Beispiel ist für Zeile 37 .. die Zahl must du ändern um es für andere Zeilen zu haben
Das must du in ne Batch schreiben und die Datei mit den Links muss in dem Ordner liegen oder du must den Pfad bei (Link.txt) ändern
Gruß
Woolfsmann
EINE Zeile aus TXT-Datei auslesen
und ein bisschen Experimentierfreude konnte ich das für dich Bauen.
::-------LineToVar.bat
@echo off
:: n-te Zeile in %var% speichern; n ist im Beispiel 3
Set /a "cnt=1"
Set /a "n=37"
for /F "Tokens=*" %%i in (Link.txt) do call :setvarFixLine %n% "%%i"
::Echo n-te Zeile, n=%n%: [%Var%]
start %Var%
:: Set var=
goto :eof
~~~
:setvarFixLine
If %cnt%==%1 Set "Var=%~2"
Set /a "cnt+=1"
goto :eof
::-------LineToVar.bat
Dieses Beispiel ist für Zeile 37 .. die Zahl must du ändern um es für andere Zeilen zu haben
Das must du in ne Batch schreiben und die Datei mit den Links muss in dem Ordner liegen oder du must den Pfad bei (Link.txt) ändern
Gruß
Woolfsmann
hi, ichbinsdennis^^
und willkommen im Forum.
hätte ne erste idee:
@echo off & setlocal
set "N=d:\datei.txt"
set "T=%temp%\NamNum.txt"
findstr /n "^" "%N%">%T%
cls
echo.
type %temp%\NamNum.txt
echo.
set /p Nr= Link Nummer:
cls
for /f "tokens=1* delims=:" %%i in ('findstr /b "%Nr%:" %T%') do set "link_name=%%j"
del %T%
echo %link_name%
in dieser form kannst du in der batdatei die zeile angeben, die du öfnen möchtest...
die Variable N ist die datei die du auslesen willst,
die Variable T is eine temporäre datei die ich benutze um die links zu nummerieren.
echo %link_name% musst du jetzt nurnoch durch die funktion ersetzen, die mit dem link gemachtwerden soll
wie gesagt ist nurein erster Denkansatz.
lg Trx
und willkommen im Forum.
hätte ne erste idee:
@echo off & setlocal
set "N=d:\datei.txt"
set "T=%temp%\NamNum.txt"
findstr /n "^" "%N%">%T%
cls
echo.
type %temp%\NamNum.txt
echo.
set /p Nr= Link Nummer:
cls
for /f "tokens=1* delims=:" %%i in ('findstr /b "%Nr%:" %T%') do set "link_name=%%j"
del %T%
echo %link_name%
in dieser form kannst du in der batdatei die zeile angeben, die du öfnen möchtest...
die Variable N ist die datei die du auslesen willst,
die Variable T is eine temporäre datei die ich benutze um die links zu nummerieren.
echo %link_name% musst du jetzt nurnoch durch die funktion ersetzen, die mit dem link gemachtwerden soll
wie gesagt ist nurein erster Denkansatz.
lg Trx