OS:Win 7私はよくグーグルで検索しましたが、ここで答えを1つ見つけましたが、答えだけを出力するので役に立ちません(IFステートメントでは使用できません
私もこれを見つけました
if /i "%SAFEBOOT_OPTION%"=="MINIMAL" echo We're in Safe Mode!
ほぼ 10 回試しましたが、SAFEBOOT_OPTION 変数は常に空です。
OS:Win 7私はよくグーグルで検索しましたが、ここで答えを1つ見つけましたが、答えだけを出力するので役に立ちません(IFステートメントでは使用できません
私もこれを見つけました
if /i "%SAFEBOOT_OPTION%"=="MINIMAL" echo We're in Safe Mode!
ほぼ 10 回試しましたが、SAFEBOOT_OPTION 変数は常に空です。
この変数は、現在(contains ) または(contains )%SAFEBOOT_OPTION%
で起動している場合にのみ存在します。safe mode
MINIMAL
safe mode with networking
NETWORK
いずれかのセーフ ブート オプションを使用すると、環境変数が設定されます。環境変数は SAFEBOOT_OPTION です。この変数は Network または Minimal に設定されます。
編集
セーフモードで実行中に以下のスクリプトをテストしました:
@echo off
if /i "%SAFEBOOT_OPTION%"=="MINIMAL" echo We're in Safe Mode!
このスクリプトWe're in Safe Mode!
は、期待どおりに cmd に出力されました。
システムが通常モードかセーフ モードかを検出したいだけの場合は、バッチ プログラムを使用してこれを試してください。
@エコーオフ
"%SAFEBOOT_OPTION%"=="" の場合は正常に戻ります
echo このコンピュータはセーフ モードです!
内線へ
:正常
echo このコンピュータは通常モードで実行されています!
内線へ
:内線
一時停止
出口
SAFEBOOT_OPTION 変数が空の場合、システムは通常モードです。
みなさん、スレッドが少し古いことは知っています。しかし、私は最近、技術者がセーフ モードで実行することを望まないバッチで問題に遭遇しました。しかし、私は本当に答えを見つけることができませんでした。しかし、上記を使用して、Web の残りの部分を熟読することができ、最終的に、他の作業も実行したい場合に実行できるチェックを思いつきました。したがって、この場合、セーフ モードを検出すると、 :safemodeに移動して終了します。または仕事を続ける。
wmic COMPUTERSYSTEM GET BootupState | findstr /i "fail-safe" > nul
if %errorlevel% EQU 0 goto safemode
//もの
:safemode
cls
Echo.
Echo Halting system is in SAFEMODE!!