Scribble at 2025-07-17 09:43:32 Last modified: unmodified

新しいマシンでの環境を整備しているところなのだが、Stable Diffusion の LoRA を作成するシステムのスクリプトが正常に起動しない。これは PowerShell のスクリプト(.ps1)で、前のマシンだとショートカットからプロンプト画面が立ち上がって、そのままスクリプトが実行される。でも、新しいマシンで同じようにショートカットを作成しても、PowerShell のウインドウが一瞬だけ出て閉じてしまう。そして、スクリプトがバックグラウンドで実行されているわけでもない。

調べると、PowerShell のコマンドに "-NoExist" をつけるなどと書かれているが、そもそも旧マシンではそんなアーギュメントなど必要なかったのに、どうして同じ Windows 11 で異なる設定が必要なのか。だいたい、スクリプトはシステムの起動用なのだから、正常にシステムが起動シーケンスに入ったら、スクリプトが実行中なのにウインドウが閉じてしまうわけはない。要するに、これはシステムが起動していないということだ。

ここで最初に、システム側には問題がないことはわかっているから、これは原因の候補から除外しておく。なぜなら、PowerShell のプロンプト画面を手動で立ち上げてからスクリプトをマニュアルで実行すると、正しくシステムが起動するからだ。ということは、ショートカットの挙動に問題があるとしか考えられない。

こういう問題について、Gemini に質問してみると、PowerShell のプロファイルがぶっ壊れてるなどと的はずれな回答しかしない。だいたい、Gemini が指し示した PowerShell のプロファイルの場所だが、"$PROFILE" の返り値である、

C:\Users\philsci\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

というパスは通っていない。なぜなら、そもそも "Documents" なんてフォルダは存在しないからだ。Windows の名前空間で作成された疑似的なフォルダとしても存在しない。なので、"WindowsPowerShell" などというフォルダもなければ、"Microsoft.PowerShell_profile.ps1" というファイルも存在しない。だからといって、こういうファイルがないから PowerShell がまともに動かないなんてことはないだろう。現にスタート画面からプロンプトを手動で起動すれば、PowerShell は正しく立ち上がって問題なく動作するからだ。

ということで、いまだに原因はわからないから、LoRA を作成する .ps1 ファイルは手動で立ち上げた PowerShell のプロンプト画面で起動している。さほど頻繁に使うわけでもないから大した手間ではないが、Stable Diffusion の .bat ファイルは何の問題もなくショートカットから起動できるので、できれば同じように手軽に起動できたほうがいいとは思う。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る