Supportnet Computer
Planet of Tech

Supportnet / Forum / WindowsNT

Problem mit NT Script





Frage

Hallo allerseits, ich möchte eine Datei umbenennen und in den Dateinamen die Uhrzeit integrieren. Hier mein Scriptaufruf: for /f "tokens=1,2 delims=:" %%a in ('time/t') do set tim1=%%a tim2=%%b Soweit geht das ja Aber der Befehl ren c:\temp\bla.txt bla_%tim1%_%tim2%.txt führt zu einem Syntaxfehler. ren c:\temp\bla.txt bla_%tim1%.txt Führt ebenfalls zu einem Syntaxfehler. Was ist falsch?

Antwort 1 von Roland

Hi,
dein Problem liegt wahrscheinlich nicht an der REN-Zeile sondern an der FOR-Zeile.
Ich habe mir die Variable tim1 mal ausgeben lassen
echo %tim1%

der Inhalt war tim1="15 tim2=56"

Somit ergibt sich für den REN-Befehl ein ungültiger Dateiname (Leerzeichen sind nicht zulässig).

cya
Roland

Antwort 2 von shrike

Oh, da geht's ja in die (Un)Tiefen der Befehle ;-)

Aber so geht's erstmal nicht... Schau dir die entstandene Umgebungsvariable (ja, nur eine wurde erstellt) an. Und dann muß man wegen der Leerzeichen aufpassen.

Mach's anders:

for /f "tokens=1,2 delims=: " %%a in ('time/t') do (set tim1=%%a) & (set tim2=%%b)

Bei delims ist nach Doppelpunkt ein Leerzeichen und die Klammern nicht vergessen.

Dann sollte es funktionieren.

shrike

Antwort 3 von shrike

Tip:
Die &-Verknüpfung zweier Befehle kannst du bestimmt noch woanders gebrauchen ;-)

shrike

Antwort 4 von shrike

Noch eine Möglichkeit wäre (wenn du Stunden und Minuten nicht unbedingt einzeln brauchst) nur EINE Variable zu erstellen:

for /f "tokens=1,2 delims=: " %%x in ('time /t') do set ZEIT=%%x_%%y

Dann geht "ren bla.txt bla_%ZEIT%.txt" und es kommt aufs Gleiche raus (bla_16_18.txt).

Naja, kannst ja experimentieren...

shrike

Antwort 5 von JOJOLINO

Hallo shrike,

super hat geklappt, vielen Dank!
Habe mich für die Variante mit nur einer Variablen entschieden!

JOJOLINO