Batch: SET geht nicht?!
Moin,
ich steh gerade auf dem Schlauch bei einer Batch (unter Windows 7)
Mein Code
ergibt
erwarten würde ich
Was mach ich falsch?!
Kann mich wer in die richtige Richtung schubsen bitte?
lg,
Slainte
ich steh gerade auf dem Schlauch bei einer Batch (unter Windows 7)
Mein Code
for /R logs\ %%a in (*.log) do (
set t=%%a
echo t: %t%
echo a: %%a
)
t:
a: c:\pfad\zum\log\file.log
t: c:\pfad\zum\log\file.log
a: c:\pfad\zum\log\file.log
Was mach ich falsch?!
Kann mich wer in die richtige Richtung schubsen bitte?
lg,
Slainte
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 307704
Url: https://administrator.de/contentid/307704
Ausgedruckt am: 21.11.2024 um 13:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Slainte,
soweit ich mich recht erinnere, musst du die Variable mit Ausrufezeichen wiedergeben, wenn du den Wert, den du innerhalb der Schleife zugewiesen hast auch innerhalb der Schleife wieder ausgeben möchtest. Siehe z.B. verzögerte Variablenauflösung.
@bastla hat das z.B. sehr gut erklärt:
Link
Gruß,
narthan
soweit ich mich recht erinnere, musst du die Variable mit Ausrufezeichen wiedergeben, wenn du den Wert, den du innerhalb der Schleife zugewiesen hast auch innerhalb der Schleife wieder ausgeben möchtest. Siehe z.B. verzögerte Variablenauflösung.
@bastla hat das z.B. sehr gut erklärt:
Link
Gruß,
narthan
Hi.
You need delayed expansion if you set variables inside parentheses:
Regards
You need delayed expansion if you set variables inside parentheses:
@echo off & setlocal enabledelayedexpansion
for /R logs\ %%a in (*.log) do (
set "t=%%a"
echo t: !t!
echo a: %%a
)