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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0404
floryexecの文字数制限4解決


flory

リンク

2008/4/4(Fri) 18:35:11|NO.14836

スクリプトを組んでいて気付いたのですが……。

exec命令で実行ファイルを指定して実行する際、実行ファイルのパスに続けて
コマンドラインオプションも入力できますよね?
このとき、

「実行ファイルのパス(+半角スペース)+コマンドラインオプション」
(F1ヘルプでいうところの"filename"の部分)

の文字数に制限があるような気がします。(たぶん260バイト)

コマンドラインオプションが短い場合(/sとか/eとか)なら問題ないのでしょうが、
複数のファイルのパスを渡したい場合などはこの制限に引っ掛かってしまいます。

とりあえずバッチファイルを作ってそれを実行させるという代替手段を使っていますが、
この文字数制限を回避する方法があれば教えてください。


と、ここまで書いて改めて調べてみると、HSP3ラウンジ過去ログにて
似たような事例を発見。
http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200509/05090023.txt

……もう解決したようなものですが……。
もし、これよりもまだ簡単な方法があればお教えくださいです。



この記事に返信する


Kpan

リンク

2008/4/4(Fri) 20:14:44|NO.14845

ShellExecute関数(かShellExecuteEx関数)を呼んでください。



flory

リンク

2008/4/4(Fri) 20:29:42|NO.14847

WindowsAPIも考えなかったわけではありません。
しかし、APIを用いる方法がバッチファイルやWSHを用いる方法よりも
簡単だと言えるでしょうか。

もちろん、このまま他の解決策が出ないのであれば、最終的にはAPIを
使って機能を実現するつもりではあります。



As

リンク

2008/4/5(Sat) 00:06:52|NO.14862

複数のファイルパスを渡す方法で以前使っていた方法なのですが、

アトムテーブルなどの外部メモリアドレスを コマンドラインに受け渡して
文字制限をカバーしていました。



flory

リンク

2008/4/5(Sat) 17:52:07|NO.14897

「アトムテーブル」なるものを知らなかったので少し調べてみましたが、
これもAPIを使うのではないですか?自分としては標準命令だけで文字数
制限を回避できればと思っていたのですが。

しかし、どうやらそこまでうまい話はなさそうですね。やはりここは
ShellExecuteEx関数を呼び出して使う方向で考えていきます。

とりあえず解決済みにしておきます。ありがとうございました。



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