CMD Shutdown Befehl nicht erkannt?
Hallo, ich habe gerade das Problem, dass der Shutdown Befehl nicht funktioniert.
C:\Users\Administrator>shutdown /s /t 2700
Der Befehl "shutdown" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Ich habe vor kurzem Windows auf Pro geupgraded und neue Umgebungsvariablen angelegt. Könnte was damit zu tun haben.
(Color, Title, Java, Python, Start & Time z.B. gehen noch)
3 Antworten
Gib mal
Path
ein. Ist C:\Windows\System32 mit dabei?
EDIT: Vergiss es. Das Verzeichniss sollte immer durchsucht werden, auch wenn's nicht bei Path mit dabei ist. Sorry. Schau mal ob Shutdown.exe im System32-Verzeichnis liegt.
Hatte statt C:\Windows\System32 nur C:\System32 eingegeben. Ups. Jetzt gehts.
War nicht dabei. Habs jetzt wieder drin. Muss ich beim installieren von FFmpeg aus Versehen gelöscht haben.
EDIT: Geht aber immer noch nicht.
EDIT2: Ist drin
Auch wenn Du den System32-Ordner wieder ans Laufen gebracht hast wirst Du in absehbarer Zeit noch mehr Problem bekommen.
In der Pathvariable sollte man nicht unbedacht herumpfuschen. Es gibt noch mehr Standardpfade, welche das System unbedingt benötigt, Einige kann man nicht einmal per Batch setzen.
- Öffne deinen Registryeditor (regedit.exe) als Administrator!
- Navigiere zum Registypfad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
- öffne den Eintrag Path (dieser muss der Typ REG_EXPAND_SZ haben!)
- Dies sind die Werte, welche unbedingt in dem Pfadeintrag in der Registry stehen müssen :
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;
- ...beachte vor allen die Einträge mit den %-Automatikvariablen! (Diese Einträge werden von der Rücksetzroutine des WindowsUpdaters genutzt um temporär mit einem Backup des Windowsordners zu arbeiten!) diese können nur über den Registryeditor eingetragen werden!
- wenn Du die Java-Laufzeitumgebung(Runtime) installiert hast kommt auch noch C:\Program Files (x86)\Common Files\Oracle\Java\javapath; hinzu.
- Eine NVidia Triberinstallation setzt auch noch einen Verweis auf seinen Updater: C:\Program Files\NVIDIA Corporation\NVIDIA NGX;
...dies wird von einigen Programmierern zwar propagiert, aber ist Falsch, da bei SETX Path=%Path%;LW:\Neuereintrag; bestehende Einträge von eingebundenen Variablen wie %SystemRoot% aufgelöst und als statischer Verweis zurückgeschrieben werden! Sowas war bis Win 7 egal , sollte aber bei Win 10 vergessen werden!
Als Normaler Nutzer sollte man Path-Einträge nur über die erweiterten Systemeinstellungen editieren. ...oder Regedit (siehe Bild oben)
Die einzig legitime Methode um die Path-Variable permanent und sauber mit einer Batch zu erweitern:
add_Path_permanent.cmd :
@echo off
chcp 65001 >nul
rem hier neue Enträge durch Semikolon getrennt definieren...
set "addToPath=c:\NeuerEntrag;c:\anderer Eintrag"
rem Daten von Path aus der Registry lesen..
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do (
set "oldPath=%%b"
)
rem einige Programme fügen hinten ein Semikolon an, andere nicht...(also prüfen)
rem wenn letztes Zeichen kein Semikolon ist, eines hinzufügen
if "%oldPath:~-1%" neq ";" (set "newPath=%oldPath%;")
rem neue Einträge zur Variable hinzufügen
set "newPath=%newPath%%addToPath%"
:: optional ....... Anzeigen und Abfragen ...........
rem Path-Eintrag in der Registry anzeigen
echo aktuelle Daten von Path in der Registry:
echo:
echo %oldPath%
echo:
echo Diese Daten für Path in die Registry eintragen? :
echo:
echo %newPath%
echo:
choice /m "...ist das so in Ordnung? "
if %errorlevel% equ 2 (
rem Nichts tun, beenden
echo Vorgang abgebrochen, unternehme nichts....
timeout 7 >nul
exit /b
)
::Ende ....... Anzeigen und Abfragen ...........
rem Neue Daten in die Registy eintragen (HKEY_LOCAL_MACHINE\... benötigt Administratorrechte sonst wird der schreibende Zugriff verweigert!)
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%newPath%"
rem Änderung anzeigen
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path
::optional für diese Demo: Rückgängig machen....
choice /m "soll diese Eintragung rückgängig gemacht werden ? "
if %errorlevel% equ 1 (
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%oldPath%"
echo Zurückgesetzt
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path
)
::Ende optional
echo Die Änderungen werden nach einem Neustart des Rechners aktiv!
pause
Danke, aber es läuft.... Ich habs sowieso immer über Windows Settings gemacht, alles andere brauche ich nicht.
shutdown /s /t 2700 genügt. (als Admin ausführen)
Funktioniert wie gesagt nicht. Allgemein "shutdown" wird nicht erkannt.