seb1212
Goto Top

Geschachtelte For Schleife Variable weiter benutzen

Hallo zusammen,

ich habe ein kleines Problem, im untenstehenden Code hat die Variable %Datum% in Zeile 13 leider keinen wert.

Kann mir jmd sagen wo das Problem liegt?

Ich habe alle Pfade due %Pfad% ersetzt da euch ja sicher nicht interessiert wo ich meine Dateien liegen habe ;)

 
@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
::Prüfen ob Benutzer zum berechtigen vorhanden sind

if not exist %Pfad% goto Ende

::Datei auslesen, Benutzer Vollzugriff geben, Benutzername in Datei mit Datum von Heute eintragen

for /f %%i in (%Pfad%) do (
for /f %%m in ('powershell.exe -command Get-Date -format ddMMyyyy') do set Datum=%%m  
echo %%i>>%Pfad%\%Datum%.log
icacls P:\ /e /t /c /q /inheritance:r /grant %%i:(OI^)(CI^)(F^)
)
pause
::%Pfad%

:Ende
ENDLOCAL


Besten Dank

Seb1212

Content-Key: 264052

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

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

Mitglied: 114757
114757 Feb 20, 2015 updated at 09:26:27 (UTC)
Goto Top
Stichwort delayed expansion und Anführungszeichen !
echo %%i>>%Pfad%\!Datum!.log
Gruß jodel32

p.s. das Datum bekommst du auch so:
echo %date:~0,2%%date:~3,2%%date:~6,4%
Member: seb1212
seb1212 Feb 20, 2015 updated at 09:34:02 (UTC)
Goto Top
Hi,

erstmal vielen Dank für deine Hilfe!

ja so bekommt man das Datum auch, das Problem ist das das Script auf nem Deutschsprachigem und nem Englischsprachigem Client läuft. Und es da mit der unterschiedlichen Datumskonvertierung brocken gab.


So zum eigentlich Problem,

Jetzt heißt die Datei leider !Datum!.log


Gruß
Mitglied: 114757
Solution 114757 Feb 20, 2015 updated at 10:42:31 (UTC)
Goto Top
Zitat von @seb1212:
Jetzt heißt die Datei leider !Datum!.log
Muss aber gehen, wenn das auftritt ist die Variable leer bzw wird nicht richtig gefüllt (ExecutionPolicy beachtet ?), machs besser so:
for /f "tokens=*" %%m in ('powershell.exe -ExecutionPolicy ByPass -command Get-Date -format ddMMyyyy') do set "Datum=%%m"  
echo !Datum!
geht einwandfrei ..

und hier solltest du es auch so machen:
for /f "usebackq tokens=* delims=" %%i in ("%Pfad%") do  
Member: seb1212
seb1212 Feb 20, 2015 at 10:27:52 (UTC)
Goto Top
Besten Dank, Funkt einwandfrei.

Schönes Wochenende