Befehl in Schleife führt zu Scriptabbruch bei bestimmtem Rechner
Eine Einstellung verhindert die saubere Ausführung des Scripts.
Wenn innerhalb eine for-Schleife ein Befehl ausgeführt wird, brechen alle Scripts auf einer bestimmten Maschine sofort ab ohne eine Fehlermeldung zu produzieren.
Es handelt sich um diesen Schnipsel mit dem ich das Systemdatum je nach Bedarf umformatiere.
FOR /f "tokens=1-3 delims=. " %%a in ('DATE /T') do echo %%c_%%b_%%a
Dieser Code funktioniert auf meinem Haupt- und meinen Testrechnern prima nur nicht mehr da wo er soll. Nämlich auf einer neuinstallierten XP-Maschine auf der diverse Scripte mit diesem oder ähnlichem Code bereits über ein Jahr im Einsatz war.
Ich bin mir sicher dass es mit der Befehlserweiterung zusammenhängt, denn witzigerweise funktioniert das Script nicht, wenn es direkt gestartet wird, sondern nur noch dann,
wenn ich ein CMD-Fenster geöffnet habe, hier eintippe
cmd /a
das Ganze Abschicke und danach das Sript innerhalb dieses Fensters aufrufe.
Ich habe bereits die Registry gecheckt:
der EnableExtensions steht für die User und die Maschine auf 1.
Ausserdem habe ich noch probiert direkt im Script die Extensions für die Laufzeit mit Hilfe von
setlocal EnableExtensions
zu aktivieren. Das funktioniert leider auch nicht.
Hat mir jemand noch eine gute Idee?
Vielen Dank im Voraus
Hier noch ein paar Fakten:
- Zugriff per RDP als Mitglied der lokalen Admingruppe
- Alle aktuellen Patche sind vorhanden. Nur nicht SP3 als Ganzes.
- Der Rechner ist nicht Bestandteil eines AD.
Es handelt sich um diesen Schnipsel mit dem ich das Systemdatum je nach Bedarf umformatiere.
FOR /f "tokens=1-3 delims=. " %%a in ('DATE /T') do echo %%c_%%b_%%a
Dieser Code funktioniert auf meinem Haupt- und meinen Testrechnern prima nur nicht mehr da wo er soll. Nämlich auf einer neuinstallierten XP-Maschine auf der diverse Scripte mit diesem oder ähnlichem Code bereits über ein Jahr im Einsatz war.
Ich bin mir sicher dass es mit der Befehlserweiterung zusammenhängt, denn witzigerweise funktioniert das Script nicht, wenn es direkt gestartet wird, sondern nur noch dann,
wenn ich ein CMD-Fenster geöffnet habe, hier eintippe
cmd /a
das Ganze Abschicke und danach das Sript innerhalb dieses Fensters aufrufe.
Ich habe bereits die Registry gecheckt:
der EnableExtensions steht für die User und die Maschine auf 1.
Ausserdem habe ich noch probiert direkt im Script die Extensions für die Laufzeit mit Hilfe von
setlocal EnableExtensions
zu aktivieren. Das funktioniert leider auch nicht.
Hat mir jemand noch eine gute Idee?
Vielen Dank im Voraus
Hier noch ein paar Fakten:
- Zugriff per RDP als Mitglied der lokalen Admingruppe
- Alle aktuellen Patche sind vorhanden. Nur nicht SP3 als Ganzes.
- Der Rechner ist nicht Bestandteil eines AD.
Please also mark the comments that contributed to the solution of the article
Content-Key: 87594
Url: https://administrator.de/contentid/87594
Printed on: April 23, 2024 at 08:04 o'clock
5 Comments
Latest comment
Ich bin mir sicher dass es mit der Befehlserweiterung zusammenhängt, denn witzigerweise funktioniert das Script nicht, wenn es direkt gestartet wird, sondern nur noch dann, wenn ich ein CMD-Fenster geöffnet habe, hier eintippe cmd /a das Ganze Abschicke und danach das Sript innerhalb dieses Fensters aufrufe.
Wie kommst Dud en darauf?
Der Parameter /a bedeutet:
/A Ausgabe interner Befehle in eine Pipe oder Datei im ANSI-Format
Schau mal ob in der richtung was verstellt ist.