投稿日:
更新日:

おま環

概要

とあるffmpegの処理を自動化するために作ったbatが
編集時は正常に動作していたのにドラッグアンドドロップして実行すると

'ffmpeg' is not recognized as an internal or external command, operable program or batch file.

と言われて動作しなかった

原因

setコマンドで確認したところ

cmd.exeがユーザー環境変数の%Path%を読み込んでいないのが原因だった
その理由は不明(たぶんおま環)

さらに謎なのが

  • wt.exeから新規タブでコマンドプロンプトを開く
  • Wezterm等のTerminal Emulatorを使う

となぜかユーザー環境変数がちゃんと通る

対処法

  • システム環境変数にffmpegへのパスを追加する
    scoop経由でインスコしてるからやりたくない

  • RefreshEnv.cmdで環境変数をリロードする
    batの最初に追加すればとりあえず動く模様

  • 再起動
    なぜか直った なんで???

再現できないため根本的な原因はわからないという
困ったらとりあえず再起動の精神は割と大切……かもしれない