CMD Shutdown Befehl nicht erkannt?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Studium / Ausbildung – Datenverarbeitungs-Kfm, Hobby- und Profi-Programmierer
G4M1NGPHOEN1X 
Fragesteller
 04.05.2020, 00:29

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

0
G4M1NGPHOEN1X 
Fragesteller
 04.05.2020, 00:32

Hatte statt C:\Windows\System32 nur C:\System32 eingegeben. Ups. Jetzt gehts.

1

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

Bild zum Beitrag

  • ö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;
!!!Finger weg vom setzen der Path-variable mit dem SETX-Befehl in der Console !!!

...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)

Bild zum Beitrag

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

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
 - (Computer, Technik, PC)  - (Computer, Technik, PC)
G4M1NGPHOEN1X 
Fragesteller
 05.05.2020, 18:36

Danke, aber es läuft.... Ich habs sowieso immer über Windows Settings gemacht, alles andere brauche ich nicht.

0