trance1983
Goto Top

.txt Inhalt inerhalb einer Batch anzeigen lassen

hi erstemal leute, bin hier neu und hab schon einiges von euch gelernt! Erstmal fettes danke!
Jetzt habe ich selbst eine Frage:

Unzwar, ist es möglich innerhalb einer batch datei den inhalt einer txt oder anderen batch anzeigen zu lassen?

so wie

echo bla
echo blupp

*einfügen des inhaltes von* "data.txt"

echo Wie sie aus der data.txt(bat) ersehen können bla bla bla


sowas in der richtung.

also ich hab schon ein fertiges batch script soweit, ich will nur dass er den inhalt der data.bat mittendrin anzeigt und dann mit dem rest der haupt bat weiter macht.

gibts da ne möglichkeit??

Content-Key: 109823

Url: https://administrator.de/contentid/109823

Printed on: April 25, 2024 at 06:04 o'clock

Member: bastla
bastla Feb 24, 2009 at 08:17:57 (UTC)
Goto Top
Hallo trance1983 und willkommen im Forum!

Für Dein Vorhaben sollte ein
type data.txt
genügen. Falls der Text länger ist, ergänzend ein "more" einsetzen:
type data.txt|more
- zur Fortsetzung der Anzeige die Leertaste verwenden.

Grüße
bastla
Member: trance1983
trance1983 Feb 24, 2009 at 08:41:16 (UTC)
Goto Top
boa fett danke face-smile

muss ehrlich sagen, das meiste hier aus dem Forum hatte ich ja sowieso schon von dir "gelernt" aber dass du mir dann hilfst hätt ich nich gedacht!

vielen vielen dank !
Member: bastla
bastla Feb 24, 2009 at 08:47:00 (UTC)
Goto Top
Hallo trance1983!
das meiste hier aus dem Forum hatte ich ja sowieso schon von dir "gelernt"
Freut mich face-smile - allerdings hast Du es damit eigentlich von Biber ...

Grüße
bastla
Member: trance1983
trance1983 Feb 24, 2009 at 09:38:59 (UTC)
Goto Top
joa dann halt danke biber face-smile

jetz hab ich anderes problemchen in meinem script.

ich lasse per befehl eine zeile nach ganz unten in mein script schreiben, welches aussieht wie:

"set ip01 = 192.143.123.123:27960"

so und jetz will ich dass folgendes passiert:
set /p var=Type ServerNr:
if %var%==%var% goto connect

:connect
c:
cd games
cd QuakeIIIArena
start quake3.exe +connect ip%var%

wenn ich jetzt zum test mal ip%var% ausgeben lassen dann steht da nur "ip01" anstatt "192.143.123.123:27960"
was ich ja am ende des script definiere. geht das nicht weil es erst ganz am ende definiert wird oder warum nicht?

ganz am ende definiert wird es, weil ich es nicht hinkriege und nix gefunden habe wie man den eintrag "set ip01 = 192.143.123.123:27960" mittendrinne einfügen zu lassen ohne was anderes zu überschreiben.

also es soll nen tool sein was zu q3 servern verbindet. man kann server selbst hinzufügen, dazu wird folgendes gemacht :
Set/p nr=ServerNr:
Set/p server=Server-Name:
set/p ip=Server-IP:

echo º #%nr% - %server% >> servers.bat
echo set ip%nr% = %ip% >> q3connect.bat

bei der servers.bat ist das auch ok dass es am ende angefügt wird, bei der q3connect.bat weis ich es halt nicht.
das mit dem hinzufügen geht super, er trägt alles ein wie er soll, ich kanns halt nur nich richtig benutzen beim verbinden dann (bei :connect)

wäre cool wenns ne simple lösung dafür gibt, vielleicht mach ich da einfach nur was falsch.
Member: bastla
bastla Feb 24, 2009 at 13:20:19 (UTC)
Goto Top
Hallo trance1983!

Wenn Du eine Variable verwenden willst, muss diese vorher einen Wert erhalten haben - am Ende der Batchdatei bringt eine Wertzuweisung nur dann etwas, wenn dieses "Ende" vor der geplanten Verwendung erreicht wird. Ein Widerspruch? Nicht unbedingt: Wenn das Ende der Datei zu einem Unterprogramm gehört, kann dieses bereits vorher aufgerufen werden:
@echo off & setlocal
echo Hole Variable ...
call :GetVars
echo Jetzt Verarbeitung
echo %ip01%
::
::
:: Ende des Hauptprogrammes
goto :eof

:GetVars
set "ip01=192.143.123.123:27960"  
set "ip02=192.143.123.125:27960"  
Hinsichtlich der Schreibweise der "set"-Zeile würde ich dazu raten, auf jeden Fall das Leerzeichen nach dem "=" zu vermeiden, da dieses ansonsten Bestandteil des Variablenwertes wird. Wenn noch (wie oben gezeigt) zusätzlich Anführungszeichen vor dem Variablennamen und nach dem zuzuweisenden Wert gesetzt werden, können auch am Ende des Variableninhaltes keine unbeabsichtigten Leerzeichen enthalten sein.

Grüße
bastla
Member: trance1983
trance1983 Feb 24, 2009 at 14:30:13 (UTC)
Goto Top
jo danke, habs jetz anders hinbekommen weil das spiel das so nich nehmen wollte.
er fügt jetz halt jedesmal:

angegeben wird servernr %nr%, name%name%, mod%mod%, und die ip%ip%

echo - #%nr% - %mod% - %name% >> servers.bat

echo :ip%nr% >> q3connect.bat
echo start quake3.exe +fs_game osp +connect %ip% >> q3connect.bat
echo goto start >> q3connect.bat

:ip01
start quake3.exe +connect *123.423.23.23:27960*
goto start


:ip02
start quake3.exe +connect *183.125.52.53:27960*
goto start

sind zwar dann 3 anstatt einer zeile, aber es geht so wie es soll.
er startet das spiel, den richtigen mod und verbindet dann.