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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: miniversum
miniversum 15.04.2008 um 18:30:28 Uhr
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
Mitglied: Lividum
Lividum 16.04.2008 um 08:06:57 Uhr
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
Mitglied: miniversum
miniversum 16.04.2008 um 16:00:36 Uhr
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
Mitglied: Lividum
Lividum 17.04.2008 um 08:57:06 Uhr
Goto Top
Hi,
so hat es funktioniert:

echo Text = '^%test%^'

Danke face-smile