lividum
Goto Top

Scriptergebnis als Variable speichern

Gute Abend,

ich hab folgendes Problem mit meinem Script:

Ich fülle eine Datei mit ner Menge echos, die ich davor mit %date% fülle
nun hab ich folgendes Problem, das ich eine neue Variable für mein Suchergebnis brauche. Die Suche schaut so aus dir /b /s *.bak

Problem ist, das ich es mit Set Test= dir /b /s *.bak und dann eben mit echo %test% nicht das Suchergebnis bekomme, sondern eben dir /b /s *.bak

Kann mir jemand weiterhelfen?

Am Ende sollte so ausschaun, das ich mit nem echo %test% das Ergebnis ausgeben kann, die ich in meine Textdatei schreibe.

Grüße,
Steffen

Content-Key: 85585

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

Printed on: April 18, 2024 at 20:04 o'clock

Member: miniversum
miniversum Apr 15, 2008 at 16:30:28 (UTC)
Goto Top
Mal ein ungetesteter Versuch:
set "test="
FOR /F "delims=" %%i in ('dir /b /s *.bak') do call set "test=%%test%% & echo %%i"

echo %test%

miniversum
Member: Lividum
Lividum Apr 16, 2008 at 06:06:57 (UTC)
Goto Top
Hi,

funktioniert, danke dafür.

Dann aber noch ne kleine Frage. Ich mnöchte die Variable dann so ausgeben:
%test% = Testtext

echo Text = '%test%' >>protokoll.txt

Mein Problem dabei ist noch, das er für die Ausgabe der Zeile nur die Variable gibt, sprich
Testtext und nicht wie es sein sollte

Text = 'Testtext'

Kann mir da noch jemand auf die Sprünge helfen?

Besten Dank,
Steffen
Edit: Es würde auch schon reichen, wenn er die Ausgabe in einer separaten Zeile schreib, aber die ' am Anfang und Ende sind mir wichtig.:
Edit2: Das mit den ' ' hab ich hinbekommen. FOR /F "delims=" %%i in ('dir /b /s *.bak') do call set "test=%%test%% & echo '%%i'"
Nun interessiert es mich aber doch, wie ich das so" echo Text = '%test%' >>protokoll.txt" ausgeben kann
Member: miniversum
miniversum Apr 16, 2008 at 14:00:36 (UTC)
Goto Top
Nun interessiert es mich aber doch, wie ich das so" echo Text = '%test%' >>protokoll.txt" ausgeben kann

Ich weiß nicht ob ich Dich richtig verstanden habe aber versuch emal ob das hier das Ergebnis bringt was du willst:
echo echo Text = '^%test^%' ^>^>protokoll.txt
Member: Lividum
Lividum Apr 17, 2008 at 06:57:06 (UTC)
Goto Top
Hi,
so hat es funktioniert:

echo Text = '^%test%^'

Danke face-smile