プログラム実行の標準入力、標準出力につNo.35167
Bull さん 16/07/24 20:08
 
お世話になります。

環境
Windows 8.1 Pro (64bit)
秀丸エディタ Version 8.62 (64bit)

プログラム実行の詳細指定で指定した標準入力、標準出力がうまく機能しません。標
準入力に(範囲選択の内容)を指定していますが、プログラムが入力で止まってしまい
ます。また、標準出力に(新規)を指定しても、秀丸に取り込まれません。

最近 8.62 にバージョンアップしましたが、8.60 ではうまく機能しているようです。

いろいろやってみると、実行ファイル(.exe)をフルパスで指定するとうまくいくよう
です。Windows 標準の sort.exe もうまく行きました。パスを指定しないで(現在開
いているファイルの)カレントフォルダーにあるプログラムを実行するとダメみたい
です。

なにか仕様の変更など、有りましたでしょうか?
普段この機能は多用しているので、現在は 8.60 に戻しています。
調査して頂きますようよろしくお願いします。

[ ]
RE:35167 プログラム実行の標準入力、標準No.35168
でるもんたいいじま さん 16/07/24 22:01
 
こんばんは。秀丸ユーザの「でるもんた・いいじま」です。

> 環境
> Windows 8.1 Pro (64bit)
> 秀丸エディタ Version 8.62 (64bit)
>
> プログラム実行の詳細指定で指定した標準入力、標準出力がうまく
> 機能しません。
...
> いろいろやってみると、実行ファイル(.exe)をフルパスで指定すると
> うまくいくようです。Windows 標準の sort.exe もうまく行きました。
> パスを指定しないで(現在開いているファイルの)カレントフォルダーに
> あるプログラムを実行するとダメみたいです。

手元の環境でも確認しましたと。
・Windows XP SP3 (32bit)
・秀丸エディタ 8.62 (32bit)

再現手順は次の通り。
1.PATHに入っていないフォルダで新規ファイルの編集を始める。
2.プログラム実行で、詳細設定はせずに「xxx.exe --help > con」を
 指定して実行。
 (xxx.exeは実際にはそのフォルダにあるコンソールアプリ。)
 一瞬だけコンソールアプリの黒いウィンドウが出たあと、何も残らない。
3.コマンドプロンプトを出して、そのフォルダで「xxx.exe --help」が
 きちんとヘルプを出力することと、「xxx.exe --help > nul」で何も
 出なくなることを確認。
4.秀丸に戻って、「.\xxx.exe --help > con」でも同じ結果になる。
5.「\path\to\xxx.exe --help > con」とするときちんと新しいウィンドウに
 出力を取り込んでくれる。
6.「cmd /c xxx.exe --help > con」とすると、cmd.exeにはPATHが通って
 いるので、きちんとこの問題を回避して5.と同じ結果になる。

うーむ、回避策は見つかったとはいえ、ちょっと気持ち悪いですねえ…。

[ ]
RE:35168 プログラム実行の標準入力、標準No.35172
秀丸担当 さん 16/07/25 14:55
 

ご指摘ありがとうございます。
確かにその通りでした。
V8.62では、ファイルのあるフォルダにある実行ファイルは、フルパス指定でな
ければ実行できないようにしてありました。
意図しないファイルを実行しないためでしたが、入力はユーザーの任意というこ
ともあり、またできるように修正させていただきます。

[ ]
RE:35172 プログラム実行の標準入力、標準No.35173
Bull さん 16/07/27 07:43
 
早速のご確認ありがとうございます。

>ともあり、またできるように修正させていただきます。
よろしくお願い致します。

[ ]