次の方法で共有

batコマンドが実行されなくなった

Anonymous
2023-11-02T08:47:57+00:00

現在Windows 10 Pro使用中。

Windowsアップデート後、ある時期からbatコマンドが実行できなくなった。

bat内容は例で管理者モードWin修復コマンドです。

ーーーーーーーーーーーーーーーーーーーーーーーーー

@echo off

cd /d %~dp0

for /f "tokens=3 delims=\ " %%i in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%i

if NOT "%LEVEL%"=="High" (

powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process %~f0 -Verb runas"

exit

)

rem

dism /online /cleanup-image /restorehealth

sfc /scannow

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"

PAUSE

ーーーーーーーーーーーーーーーーーーーーーーーーーー

今まではbatクリックで動作していたが、Windowsアップデート後、

ある時期から様々なbatコマンドが実行できなくなった。

bat本体を通常実行、管理者モードで実行、ショートカットからプロパティで管理者モードで実行など色々試したが、

一瞬CMDが表示されて消えるだけです。

手動で管理者モードでCMDに打ち込むと正常に実行されます。

batだと動作しない様な仕様変更などWindowsアップデートであったのでしょうか?

家庭向け Windows | Windows 10 | Windows Update

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

  1. Anonymous
    2023-11-02T12:45:04+00:00

    © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2023


    pauseをcmdに変えると、どうなりますか。

    先頭にcmdを入れると、

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません

10 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2023-11-02T11:49:58+00:00

    C:\WINDOWS\system32>echo %cmdcmdline%

    "C:\WINDOWS\system32\cmd.exe"

    C:\WINDOWS\system32>

    C:\WINDOWS\system32>echo %%cd%%=%cd%

    %C:\WINDOWS\system32%=C:\WINDOWS\system32

    C:\WINDOWS\system32>

    C:\WINDOWS\system32>echo %%*=%*

    %%*=%*

    C:\WINDOWS\system32>

    C:\WINDOWS\system32>echo %%1=%1

    %%1=%1

    C:\WINDOWS\system32>

    C:\WINDOWS\system32>echo %%2=%2

    %%2=%2

    C:\WINDOWS\system32>

    C:\WINDOWS\system32>echo %%~d0=%~d0

    %%~d0=%~d0

    C:\WINDOWS\system32>

    C:\WINDOWS\system32>pause

    0 件のコメント コメントはありません
  2. Anonymous
    2023-11-02T10:58:32+00:00

    © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2023


    調査のため、

    HKEY_CLASSES_ROOT\batfile\shell\runas\command

    HKEY_CLASSES_ROOT\cmdfile\shell\runas\command

    (既定)    REG\_EXPAND\_SZ    %SystemRoot%\System32\cmd.exe /C "%1" %\* 
    
                                                                                                            ↓ 
    
                                                                                                            /K 
    

    HKCRを変更するのではなく、HKCUに追加。

    HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell\runas\command

    HKEY_CURRENT_USER\SOFTWARE\Classes\cmdfile\shell\runas\command

    (既定)    REG\_EXPAND\_SZ    %SystemRoot%\System32\cmd.exe /K "%1" %\* 
    

    バッチの中身

    echo %cmdcmdline%

    echo %%cd%%=%cd%

    echo %%*=%*

    echo %%1=%1

    echo %%2=%2

    echo %%~d0=%~d0

    pause

    管理者として実行

    0 件のコメント コメントはありません
  3. Anonymous
    2023-11-02T10:12:49+00:00

    本体場所

    E:\ツール\環境\Batch_Script_to_Restart_Explorer\main_bat\★DISM.exe+sfc_scannow.bat

    ショートカット作成場所

    C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\StartupTWO\★DISM.exe+sfc_scannow.bat

    0 件のコメント コメントはありません
  4. Anonymous
    2023-11-02T09:59:29+00:00

    © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2023


    バッチファイルのパス名を出す。

    隠す場合は同じ文字種で。

    0 件のコメント コメントはありません