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
Please also mark the comments that contributed to the solution of the article
Content-ID: 307704
Url: https://administrator.de/forum/batch-set-geht-nicht-307704.html
Printed on: February 12, 2025 at 03:02 o'clock
3 Comments
Latest comment
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
)