プログラム実行についてNo.04481
Bull さん 09/11/16 18:27
 
いつもお世話になります。

C言語のソースを“プログラム実行”でコンパイル、テストを行っています。
コマンドラインに "%n.exe" と指定しても、プログラムの実行ができないようです。
バッチファイル経由ならば実行できるのですが、直接指定する方法はありますか?
マクロでも同様で、runex "%n.exe" では実行できないようです。



環境:
Windows XP pro SP2
秀丸エディタ V8.00 b25

[ ]
RE:04481 プログラム実行についてNo.04483
Iranoan さん 09/11/16 21:27
 
 Bull さん今日は、Iranoan です。
> コマンドラインに "%n.exe" と指定しても、プログラムの実行ができないようです。
 それはそうでしょうね。
 %n の意味を取り違えていませんか? 仮に、使用しているコンパイラの実行
ファイル名が、cc.exe とし、パスも通っているとすると、次の要領になりま
す。
//------------------------------------------------------------
runex "cc.exe", 1, 2, "\"%b\"", 1, "", 0, "", 1, "", 1, 1, 0 ;

[ ]
RE:04483 プログラム実行についてNo.04484
Bull さん 09/11/17 09:14
 
> それはそうでしょうね。
> %n の意味を取り違えていませんか? 仮に、使用しているコンパイラの実行
>ファイル名が、cc.exe とし、パスも通っているとすると、次の要領になりま
>す。
>//------------------------------------------------------------
>runex "cc.exe", 1, 2, "\"%b\"", 1, "", 0, "", 1, "", 1, 1, 0 ;

すいません。ちょっと省略して書いてしまいました。

コンパイルする時は、ご提示のようなマクロを使用しています。
今問題としているのは、コンパイルしてできた".EXE"を実行する場合です。

例えば、"TEST.C" を編集中で、このファイルをコンパイルすると、
"TEST.EXE" ができたとします。
それで、"TEST.EXE"を直接指定すれば、もちろん"TEST.EXE"は実行できますが、
せっかく、"%n" と言うパラメータがあるので、活用したいと思いました。

"%n は 拡張子を除いたファイル名部分のみ"とヘルプに記述があるので、
"%n.EXE" で "TEST.EXE" に展開されると思ったのですが、何か勘違いしてますか?

なお、最初の発言でも書きましたが、バッチファイルに"%n.EXE"を渡せば、
思いどおりの動作となります。

[ ]
RE:04484 プログラム実行についてNo.04485
秀丸担当 さん 09/11/17 09:43
 

>"%n は 拡張子を除いたファイル名部分のみ"とヘルプに記述があるので、
>"%n.EXE" で "TEST.EXE" に展開されると思ったのですが、何か勘違いしてますか?
>
>なお、最初の発言でも書きましたが、バッチファイルに"%n.EXE"を渡せば、
>思いどおりの動作となります。

調べてみたところ、%nなどを解釈するのはパラメータ部分で、プログラムのファ
イル名部分は解釈されていませんでした。
実行するファイル名の場合は、マクロで文字列を作っていただく必要があると思
います。
例えば以下のようにして文字列を作るといいかもしれません。

 $f=leftstr(basename,strlen(basename)-strlen(filetype))+".exe";

ヘルプにもこのことを書いておきます。

[ ]
RE:04485 プログラム実行についてNo.04487
Bull さん 09/11/17 10:03
 
>調べてみたところ、%nなどを解釈するのはパラメータ部分で、プログラムのファ
>イル名部分は解釈されていませんでした。
>実行するファイル名の場合は、マクロで文字列を作っていただく必要があると思
>います。
>例えば以下のようにして文字列を作るといいかもしれません。
>
> $f=leftstr(basename,strlen(basename)-strlen(filetype))+".exe";
>
>ヘルプにもこのことを書いておきます。

わざわざマクロをありがとうございます。

仕様と言うことで了解いたしました。

[ ]
RE:04487 プログラム実行についてNo.04488
ぎんNaN さん 09/11/17 10:23
 
cmd /c start %n.exe
じゃだめですか?

[ ]
RE:04488 プログラム実行についてNo.04509
Bull さん 09/11/18 09:43
 
ぎんNaN さん、わざわざコメントをありがとうございます。

>cmd /c start %n.exe
>じゃだめですか?

これも説明不足でした。このように起動できることは確認済みでした。
現在は、バッチファイル経由で起動しています。
バッチファイルならば環境変数の設定などいろいろ応用が利くので、
直接起動できなくても、とくに不満はありません。

[ ]