HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
1020
hkrexec / pipeexec の仕様?バグ?3解決


hkr

リンク

2024/10/20(Sun) 08:21:08|NO.102416

exec系の命令でコマンドラインを実行し出力をリダイレクトで取りたいのですが、
エラーが出てうまく動作しません。
例えばテキストの文字コードを変換するプログラムなのですが、

"nkf32.exe -s %s > %s"

こんな感じのを実行した際、第2パラメータのファイルが事前に存在しないとエラーになります。
またダミーを作成して実行出来ても今度は「invalid argument」エラーが出て
実行されません。

第2パラメータを消してpipegetの出力結果を取ることも試しましたが、内容が途中で切れています。
マニュアルに記載がありませんが、もしかして出力サイズに限界があるのでしょうか?

しょうがないので一度バッチファイルにコマンドを記述して改めて実行すれば
上手く動作するのですが、なんか・・・スマートではない気がします('ω')



この記事に返信する


hkr

リンク

2024/10/20(Sun) 09:02:56|NO.102417

そういえばヘルプには「バッチファイルは動作しない」との記述がありましたが、
これは何か理由があるのでしょうか?
最初ヘルプを読まずに試したらバッチは実行出来てもその中のコマンドが存在しない
エラーが出て最初苦労しましたが、一応chdia命令で予めコマンドとバッチがある場所に移動
しておけば、少なくとも手元では動作するみたいです。



ゆっくりXP

リンク

2024/10/20(Sun) 10:56:52|NO.102418

試していないのでわかりませんが、代わりにWindows APIでShellExecuteを使うのはどうですかね?
標準のexecだとコマンドラインのスペースの区切りが正しく認識されず、スペースもファイル名として認識されて、それが原因でエラーになっているかもしれません。

#include "shell32.as" #define NULL 0 #define SW_SHOWNORMAL $0001 #define SW_HIDE 0 #define SW_MINIMIZE 6 //実行時にウィンドウを表示したい場合、第6引数にSW_SHOWNORMAL、最小化した状態で起動したい場合はSW_MINIMIZEを指定。 ShellExecute hwnd,"open",dir_sys+"\\notepad.exe","",0,SW_MINIMIZE



hkr

リンク

2024/10/20(Sun) 17:02:08|NO.102419

やはりそうなりますよねーw

ありがとうございます、試してみます!



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.102416への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.