マクロのrun命令に対する質問No.09406
タナカ さん 01/08/03 21:15
 
はじめまして。タナカと申します。
いつも秀丸を愛用させていただいております。

runについての質問なのですが
run "command.com /c set path=c:;d:";
run "command.com /c set >con";
とすると、二つ目のrunが実行された時、一つ目のrunの実行した事が反映されてない
ようです。反映させるいい方法はないでしょうか?

別にWin98を使っているのでAutoexec.batファイルに
set path=c:;d:
とすればいいのですが、なんとかマクロで実行させたいのです。

よろしくお願いします。

[ ]
RE:09406 マクロのrun命令に対する質問No.09407
Kaisan さん 01/08/03 22:25
 
こんばんはkaisanです。
> runについての質問なのですが
> run "command.com /c set path=c:;d:";
> run "command.com /c set >con";
> とすると、二つ目のrunが実行された時、一つ目のrunの実行した事が反映されてない
> ようです。反映させるいい方法はないでしょうか?
これはOSの仕様です。

プロセスごとに環境変数のコピーを持っていて、プロセスの終了時に
破棄されます。

このようなことをしたい場合は、バッチファイル(.bat)を作成しそのバッチを
実行するようにします。

--- c:\a.bat ---
@echo off    ・・・実行コマンドを表示しないためのおまじない
set path=c:;d:
set
---ここまで----

run "c:\\a.bat >con"

[ ]
RE:09407 マクロのrun命令に対する質問No.09408
タナカ さん 01/08/05 00:16
 
Kaisanさんコメントありがとうございます。

>このようなことをしたい場合は、バッチファイル(.bat)を作成しそのバッチを
>実行するようにします。

 そういう発想はありませんでした。目から鱗が落ちました。早速試して、ちゃんと
うまく行きました。本当にありがとうございました。
 バッチファイルに引数渡すようにすれば、かなり色々な事ができそうですね。


[ ]