4

OS:Win 7私はよくグーグルで検索しましたが、ここで答えを1つ見つけましたが、答えだけを出力するので役に立ちません(IFステートメントでは使用できません

私もこれを見つけました

if  /i  "%SAFEBOOT_OPTION%"=="MINIMAL" echo We're in Safe Mode! 

ほぼ 10 回試しましたが、SAFEBOOT_OPTION 変数は常に空です。

4

4 に答える 4

3

この変数は、現在(contains ) または(contains )%SAFEBOOT_OPTION%で起動している場合にのみ存在します。safe modeMINIMALsafe mode with networkingNETWORK

マイクロソフトのドキュメントから:

いずれかのセーフ ブート オプションを使用すると、環境変数が設定されます。環境変数は SAFEBOOT_OPTION です。この変数は Network または Minimal に設定されます。

編集

セーフモードで実行中に以下のスクリプトをテストしました:

@echo off
if /i "%SAFEBOOT_OPTION%"=="MINIMAL" echo We're in Safe Mode!

このスクリプトWe're in Safe Mode!は、期待どおりに cmd に出力されました。

于 2013-12-16T05:13:20.610 に答える
0

システムが通常モードかセーフ モードかを検出したいだけの場合は、バッチ プログラムを使用してこれを試してください。

@エコーオフ

"%SAFEBOOT_OPTION%"=="" の場合は正常に戻ります

echo このコンピュータはセーフ モードです!

内線へ

:正常

echo このコンピュータは通常モードで実行されています!

内線へ

:内線

一時停止

出口

SAFEBOOT_OPTION 変数が空の場合、システムは通常モードです。

于 2015-04-20T00:28:54.707 に答える
0

みなさん、スレッドが少し古いことは知っています。しかし、私は最近、技術者がセーフ モードで実行することを望まないバッチで問題に遭遇しました。しかし、私は本当に答えを見つけることができませんでした。しかし、上記を使用して、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!!
于 2015-01-23T02:39:46.347 に答える