abjuilk
Goto Top

bat-datei mehrere echo in eine zeile ausgeben

moin!

ich will in ner bat-datei eine for abfrage aus einer txt datei machen. das problem bei der sache ist, dass die wörter untereinander stehen und ich somit viele for abfragen machen muss. den inhalt für die txt kommt aus ner bat.
ich wollte fragen ob ich mit dem echo befehl mehrere dine in die selbe zeile schreiben kann (mit leerzeichen dazwischen). so ähnlich wie der echos befehl von früher.

bat-früher:
echo 1
echos 2
echos 3
usw.

txt:
1 2 3 usw

ich hoffe ich habs verständlich geschrieben.

danke für die antworten.

Content-Key: 93072

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

Printed on: April 24, 2024 at 19:04 o'clock

Member: erik87
erik87 Jul 28, 2008 at 14:12:50 (UTC)
Goto Top
Hallo,
ich bin mir nicht ganz sicher was du machen willst. es wär auch schön zu wissen welches betriebssystem du benutzt. Naja, ich vermute mal du hast eine txt-datei, nennen wir sie mal test.txt in der mehrere wörter untereinander stehen (richtig?).
also in etwa so:
---test.txt---

wort1
wort2
wort3
...

um diese wörter jetzt hintereinander auszugeben, speicher sie doch einfach in eine variable.
quasi so:
---auslese.bat---

@echo off
cls
for /f %%x in (test.txt) do (set ausgabe=%ausgabe% %%x)
echo %ausgabe%

ergebnis müsste dann so aussehen:

wort1 wort2 wort3 ...

hab es nicht getestet, aber ich hoffe es hilft dir weiter face-wink
Member: Abjuilk
Abjuilk Jul 28, 2008 at 14:20:44 (UTC)
Goto Top
danke für deine idee!
hab win xp!
meine absicht zum erklären ist etwas kompliziert! ich tüftel mal mit deiner idee rum!

ich muss mich noch viel mit for auseinandersetzen bevor ich so richtig drinnen bin!
Member: miniversum
miniversum Jul 28, 2008 at 17:11:54 (UTC)
Goto Top
Von "Biber" wurde hier in diesem Bereich auch mal folgende Möglichkeit gezeigt:
echo.>%temp%\tmp
set/p=Dies<%temp%\tmp
set/p= ist<%temp%\tmp
set/p= ein <%temp%\tmp
set/p=ganzer <%temp%\tmp
set/p=Satz<%temp%\tmp
del %temp%\tmp
Member: Abjuilk
Abjuilk Jul 29, 2008 at 18:51:54 (UTC)
Goto Top
so ich hab meine löstung gefunden!
kopier mal das skript rein!

@echo off
color f1

rem eingebundene Laufwerke "merken"
if exist t: (
set t=\\10.10.10.1\Daten-1
) else (
set t=0
)

if exist r: (
set r=\\\\10.10.10.1\Daten-2
) else (
set r=0
)

!!!!usw kann ins unendliche weitergeführt werden!!!!

rem Laufwerke auswerfen!

net use * /delete /y

ping -n 2 127.0.0.1 > nul

rem Laufwerk einbinden

net use z: \\10.10.10.1\Daten-1 /user:user Passwort /persistent:no

ping -n 2 127.0.0.1 > nul

rem Dateien kopieren
xcopy "Laufwerk:\Pfad" z: /c /s /i /k
!!!! kann auch wiederholt werden !!!!

ping -n 2 127.0.0.1 > nul

rem Laufwerk trennen
net use z: /delete /y

cls
rem Alte Laufwerke verbinden
ping -n 23 127.0.0.1 > nul
!!!! -n 23 hab ich gemacht weil ich sonst noch mit dem anderen Benutzernamen verbunden war (wenn etwas kopiert wurde) !!!!

set user=user
set pass=passwort

if %t%==0 (
goto r
) else (
net use t: %t% /user:%user% %pass% /persistent:no
)

:r
if %r%==0 (
goto end
) else (
net use r: %r% /user:%user% %pass% /persistent:no
)

usw.
!!!! kann auch weitergeführt werden (wenn die variable oben gesetzt wurde !!!!
:end