run "command.com test.bat " + $paraNo.00139
Micky さん 98/05/08 22:48
 
初めて投稿させていただきます。
ここではいつも勉強させていただいてます。
さて、マクロの中からDOSのバッチファイルを起動して
それにパラメータを渡して処理したいと考えています。
そこで、

run "command.com test.bat " + $para
とかやってみたのですが、DOS窓が開いてきません。
何回か試してあきらめてシャットダウンしようとすると、
「commandが終了していないのでシャットダウン
できない」と言う内容のメッセージが出たので
プロセス(?)は起動されているようなのですが。

マクロの run コマンドでバッチは起動できないので
しょうか?

ちなみに動作環境は Windows 95 OSR2
秀丸のバージョンは 2.20 です。
ここなら何とかしてくれると期待しています。

[ ]
RE:00139 run "command.com test.bat No.00140
杉浦 まさき さん 98/05/09 00:56
 
Micky さん、はじめまして。
 杉浦 まさき と申します。

>run "command.com test.bat " + $para
>とかやってみたのですが、DOS窓が開いてきません。

run "command.com /c test.bat " + $para;

ではどうでしょうか?

ちなみに、DOS プログラムからの画面出力を使わないのであれば、
 run の代わりに runsync, runsync2 が使えますよ。


[ ]
RE:00140  run "command.com testNo.00141
Micky さん 98/05/09 14:25
 
> 杉浦 まさき と申します。
お世話になります。

>>run "command.com test.bat " + $para
>>とかやってみたのですが、DOS窓が開いてきません。
>
>run "command.com /c test.bat " + $para;
>
>ではどうでしょうか?
これも試してみたのですが、同じでした。
/c のオプションはバッチが終了したときにプロセスが
終了してくれるものと理解していますが、違ったかな?

>ちなみに、DOS プログラムからの画面出力を使わないのであれば、
> run の代わりに runsync, runsync2 が使えますよ。
 runsync, runsync2はマクロの実行を待機させるかどうか
ですよね。
特に待機してほしくないので、run を使っています。

どうも DOS窓が開いてくれないと思ったことができません。
実際やりたいことはモデムで発信したいだけなんです。
test.bat の中身
copy;// Dial No. get
beginclipboardread;
$DialNumber = getclipboard;
message $DialNumber;
run "command.com /c e:\\dos-tool\\dial.bat " + $DialNumber;

endmacro;
です。選択した範囲に"atdp "をたして、com1に出力して、
キー入力を待ち、モデムをリセットするだけです。
昔Vzでこんなマクロを使っていて、重宝していたので
ほしくなりやってみたのですが、うまく行きませんでした。
この手の事は、他にもいろいろできそうなのでここで
問題解決しておきたく思い、投稿させていただきました。

[ ]
RE:00141   run "command.comNo.00142
杉浦 まさき さん 98/05/10 00:20
 
Micky さん、こんばんは。
 杉浦 まさき です。

>>run "command.com /c test.bat " + $para;
>>
>>ではどうでしょうか?
>これも試してみたのですが、同じでした。

既にこのフォーラムの秀丸会議室にポストしましたが、
 どうも run文+標準シェル の組み合わせだと
 うまく動かないようですね。
 #家は NT なので標準シェルは cmd.exe ですが、
  cmd.exe だと駄目で command.com だとうまくいくという…??

> runsync, runsync2はマクロの実行を待機させるかどうか
>ですよね。
>特に待機してほしくないので、run を使っています。
>どうも DOS窓が開いてくれないと思ったことができません。

run 文ではDOS窓が開かない(&stdout を秀丸に食われる)ので、
 Micky さんのやりたいことは
  runsync2 を使わないとできないと思います。

>この手の事は、他にもいろいろできそうなのでここで
>問題解決しておきたく思い、投稿させていただきました。

先の問題は多分 Ver.2.22 での不具合だと思うので、
 次の版では大丈夫になると思いますよ。
 #以前のバージョンではちゃんと動いていたので。


[ ]
RE:00141   run "command.comNo.00143
杉浦 まさき さん 98/05/10 00:46
 
Micky さん、こんばんは。
 再び(^^;杉浦 まさき です。

>/c のオプションはバッチが終了したときにプロセスが
>終了してくれるものと理解していますが、違ったかな?

その通りですが、command.com にコマンドを渡すには
 /c か /k を指定する必要があるみたいですよ。
 #今調べた奴σ(^^;。
 何もオプションを指定しないでファイル名を続けると、
 command.com のパスの指定と勘違いされます。
 #詳細は command.com /? でどうぞ(^^;。

で、今手持ちの Win95(OSR2.1?) ノートでも調べましたが、
 やっぱり標準出力を食って結果を表示するはずの
 秀丸ウィンドウがでてきませんでした。
 ただ、command.com が終了していない、ということはなかったです。
 #ここは見ていてくれているんでしたっけ?>秀丸95担当様


[ ]
RE:00141   run "command.comNo.00145
番頭++ さん 98/05/11 18:01
 
bug ??? みたいですが ...

http://www.vector.co.jp/vpack/filearea/win95/writing/index.html

「テキスト」の「秀丸エディタ」関連に、

どなたかが作成された「err2con」があります。それで回避できませんか ???

 以前テストしたことがあります。参考までに ...

[ ]
RE:00143    run "commanNo.00146
Micky さん 98/05/12 12:57
 
かめレスで申し訳ありません。どうもうまくつながってくれない。

杉浦さん>既にこのフォーラムの秀丸会議室にポストしましたが、
杉浦さん> どうも run文+標準シェル の組み合わせだと
杉浦さん> うまく動かないようですね。
杉浦さん> #家は NT なので標準シェルは cmd.exe ですが、
杉浦さん>  cmd.exe だと駄目で command.com だとうまくいくという…??
私の試した限りでは .exeはうまく行って .comは期待どおりに
いかないといった感じでした。
といってもNTでは試していませんが。

杉浦さん>run 文ではDOS窓が開かない(&stdout を秀丸に食われる)ので、
杉浦さん> Micky さんのやりたいことは
杉浦さん>runsync2 を使わないとできないと思います。
むむっ。これは知りませんでした。勉強になります。
runsync2 に変えたらうまく行きました。
ありがとうございました。

杉浦さん>先の問題は多分 Ver.2.22 での不具合だと思うので、
杉浦さん> 次の版では大丈夫になると思いますよ。
杉浦さん> #以前のバージョンではちゃんと動いていたので。

 00143 98/05/10 00:46
<画像: コメントを投稿する>投稿者 : 杉浦 まさき
題名 : RE:00141 run &#38;#38;#34;command.com

杉浦さん>その通りですが、command.com にコマンドを渡すには
杉浦さん> /c か /k を指定する必要があるみたいですよ。
[/Y [/[C|K] コマンド]] と言うことは指定しなくても良いということかな
と思っています。
このオプションできがついたのですが、
dial.bat の中身をここに書いていませんでした。
  echo atdp %1>com1
  pause
  echo atz>com1
です。
もう一つ、test.batの中身と称していたのはtest.macの中身
でした。
トンでもない間違いをしていました。申し訳ありません。
で、/y/cのオプションを指定すると pause は必要なさそうだ
ということがわかりました。

杉浦さん> 何もオプションを指定しないでファイル名を続けると、
杉浦さん> command.com のパスの指定と勘違いされます。
これは奇怪な。

杉浦さん>で、今手持ちの Win95(OSR2.1?) ノートでも調べましたが、
杉浦さん> やっぱり標準出力を食って結果を表示するはずの
杉浦さん> 秀丸ウィンドウがでてきませんでした。
杉浦さん> ただ、command.com が終了していない、ということはなかったです。
杉浦さん> #ここは見ていてくれているんでしたっけ?>秀丸95担当様
私の場合 command.comが終了していないのは pause の為だと思います。
入力待ちのままずっと待っていることでしょう。
このプロセスにはかわいそうですが、強制終了しか出来て
いませんでした。

[ ]
RE:00145    run &#38;#38;#38;#34;commanNo.00147
Micky さん 98/05/12 13:01
 


>bug ??? みたいですが ...
>
>http://www.vector.co.jp/vpack/filearea/win95/writing/index.html
>
>「テキスト」の「秀丸エディタ」関連に、
>
>どなたかが作成された「err2con」があります。それで回避できませんか ???
>
> 以前テストしたことがあります。参考までに ...
見てみましたが、ちょっと違うような。
何かのときに参考にさせていただきます。
ありがとうございました。

[ ]