UWSCのスクリプト実行と終了について、詳しく解決方法をお答えします。
【問題の理解】
ご質問の内容は以下の2つのポイントに分かれていますね:
1. 起動時にスクリプトファイルを読み込むだけで実行されない
2. スクリプト実行後にUWSCが終了しない
【解決方法1:スクリプトを実行させる】
コマンドラインオプションを使用
uwsc.exe abc.UWS
これで通常は実行されるはずですが、もし実行されない場合は以下を試してください:
uwsc.exe /r abc.UWS/r オプションは「Run(実行)」を意味し、スクリプトを確実に実行します。/exit
【解決方法2:実行後にUWSCを終了させる】
これが本質的な問題かと思います。UWSCはデフォルトでスクリプト実行後もプロセスが残り続けます。
方法A:コマンドラインオプション または /e を使用
uwsc.exe /r /e abc.UWS
または
uwsc.exe /r /exit abc.UWS
これでスクリプト実行完了後、自動的にUWSCプロセスが終了します。
方法B:スクリプト内で明示的に終了処理を記述
abc.UWSファイルの最後に以下を追加:uwsc
// スクリプトの処理
// ...
// 終了処理
EXITEXITEXITEXITコマンドは、UWSC本体ごと終了させる命令です。
方法C:バッチファイル経由で制御
起動用のバッチファイル(run_uwsc.bat)を作成:batch
@echo off
start /wait uwsc.exe /r abc.UWS
taskkill /IM uwsc.exe /Fstart /wait でUWSCの完了を待ち、その後 taskkill で強制終了します。/r
【詳細なオプション説明】
UWSCの主なコマンドラインオプション:
- または /run : スクリプトを実行/e
- または /exit : 実行後に終了/h
- : 最小化状態で起動/d
- : デバッグモード
完全な推奨コマンド:
uwsc.exe /r /e abc.UWS
これで以下が実現できます:
1. スクリプトが確実に実行される(/r)
2. 実行完了後にUWSCが自動終了(/e)
【トラブルシューティング】
それでも実行されない場合:
1. パスを絶対パスで指定
uwsc.exe /r /e \u0026quot;C:\\path\\to\\abc.UWS\u0026quot;
2. スクリプトファイルの文字コードを確認
- Shift_JISで保存されているか確認
- UTF-8の場合はBOM付きにする
3. 管理者権限で実行
- 右クリック→「管理者として実行」
4. UWSCのバージョン確認
- 古いバージョンでは一部オプションが使えない可能性
実行されているか確認する方法:uwsc
// abc.UWSの先頭に追加してテスト
MSGBOX(\u0026quot;スクリプトが実行されました\u0026quot;)
【バックグラウンド実行の場合】
GUIを表示せずバックグラウンドで実行したい場合:
uwsc.exe /r /e /h abc.UWS/h オプションで最小化状態になります。
【スケジューラー登録の場合】
Windowsタスクスケジューラで定期実行する場合の設定例:
プログラム: C:\\Program Files\\UWSC\\uwsc.exe
引数: /r /e \u0026quot;C:\\scripts\\abc.UWS\u0026quot;
開始: C:\\scripts\\
【まとめ】
最も簡単で確実な解決方法:
uwsc.exe /r /e abc.UWS
このコマンドで、
✓ スクリプトが確実に実行される
✓ 実行完了後にUWSCが自動終了する
✓ プロセスが残り続ける問題が解消される
もしこれでも解決しない場合は、スクリプトファイルの内容やエラーメッセージを教えていただければ、さらに詳しくサポートできます。