« 外変データ書出し&編集.bat | メイン | gawkとjgawk »

2006年02月04日

●外部プログラムを使用しない外変の例

金桜さんが、再度ありがたい教材.BATをコメントに書いてくれました。

金桜さんのコメント

金桜さんが、仰るように「原点に返って外部プログラムを使用しないBATファイルの作成」から勉強していけば新鮮な外変の世界に入り込めるような気がします。

コメントに残してくれたBATファイルをそのまま覚え書きとして新たに引用掲載させて頂きます。


@REM 各種ソフト起動
@echo off
goto do%1
REM #jww
REM #cd
REM #hm |①Jww|②Excel|③Word|④メモ帳|⑤ペイント|⑥ 電卓|⑦エクスプローラ|
REM #:1
REM #:2
REM #:3
REM #:4
REM #:5
REM #:6
REM #h0
REM #hr
REM #e
REM #:7
REM #h0
REM #c 表示ドライブ入力 (無指定 全ドライブ表示) :/_
REM #hr
REM #e
:do1
start c:\jww\jw_win.exe > jwc_temp.txt
goto END
:do2
start excel.exe > jwc_temp.txt
goto END
:do3
start winword.exe > jwc_temp.txt
goto END
:do4
start notepad.exe > jwc_temp.txt
goto END
:do5
start mspaint.exe > jwc_temp.txt
goto END
:do6
start calc.exe > jwc_temp.txt
goto END
:do7
start explorer.exe %2 > jwc_temp.txt
goto END

rem ☆参考
rem 上記例では起動方法を/wを除いたstartコマンドを使用しています。
rem この方法ですとソフト起動と同時にDOS窓が閉じます。
rem 但し/wを付けなければならない場合もありますので注意が必要です。
rem
rem ☆注意点
rem ファイルをコマンドラインに設定する場合に於いて該当ファイルま
rem たはフォルダが空白を含む場合はフルパスを" "で括って下さい。
rem
rem ---例---
rem start c:\jww\jw_win.exe "c:\my data\jww file\smple.jww" > jwc_temp.txt
rem

:END


金桜さん、ありがとうございます。

外部プログラムを使用しない外変の例(2)も有ります。ご覧下さい。

コメント

金桜さん、marusanさん、こんにちは。

私も、個々の起動batを作っていますが、
このようにまとめると、良いですね。
(使用させていただきます。)

>上記例では起動方法を/wを除いたstartコマンドを使用しています。
>但し/wを付けなければならない場合もありますので注意が必要です。

そうなんです。
この /w の要・不要は、やってみないと解らないんです。
この辺が試行錯誤でしょうか?

追伸

拙宅のHPにも載せておりますが、
私が出会った酒井さんの「究極のBAT」を
紹介します。

■SMENU200.LZH(dos版)に付いてきた [消去字線.bat]
(batのみの外部変形)
--------------------------------------------------------------------
@REM 文字と線を消す
@echo off
REM #jw
REM #cd
REM #h1
REM #hc【 消 去 】左:線 右:線・文字
REM #g1
REM #e
echo hd >jwc_temp.txt
echo h#今なら消した図形が[ESC]で復活します >> jwc_temp.txt
goto END
:END
---------------------------------------------------------------------
★この [hd] で消去ができ、[h#]でコメント文が記述
 できるのを知りました。

住職さん、究極のBAT ありがとうございます。

ん~、、難しくなってきましたねぇ(^_^;)
とにかく、動かしてみて「へぇ~」って思って・・

それから、/w って何? hd って何? h# って何? と考えていけば良いのでしょうね。
私には、この意味が解らない。(^^ゞ

marusanさん、こんにちは。

ここで、/w は、/wait です。
/wの記述があると、外部変形実行中は、
タスクバーにコマンドプロンプト(cmd.exe)が
待機(wait)しています。
この/wが無いと実行できたりできなかったが
いろいろなんです。

また、下記のbatには、/wがありませんが、
cmd.exe は、待機しています。

このHPの起動batです。(誰が使うんだ!)
----------------------------------------------------------------------
@REM HP 起動BAT(IE用)
@echo off
REM #jww
REM #cd
REM #e
echo # > jwc_temp.txt
del jwc_temp.txt
"C:\Program Files\Internet Explorer\iexplore.exe" "http://www.tmk-s.com/gaihen/"
goto end

:END
----------------------------------------------------------------------

以上、ご参考まで。


▼住職さん

>ここで、/w は、/wait です。

なるほどぉ~。
聞いてみなきゃ解らない。(^^ゞ

>また、下記のbatには、/wがありませんが、
>cmd.exe は、待機しています。

何故????

>このHPの起動batです。(誰が使うんだ!)

ヽ(^o^)丿ありがとうございます!!
他にも応用が出来ますね。(*^_^*)
この2つのBATファイルも、教材にエントリーさせてもらいますね。

住職さんご紹介の酒井さんのBATはある意味で外部変形の極致であり目標でもあります。

外部変形もJWCのものを改めて見直しますと驚嘆すべきものが多くありしかも其の多くがJWWでも使用可能であることは実に幸運であります。

それは基本的にはjwc_temp.txtのデータが普遍でありこれにより貴重な資産の継承が可能となっています。

startコマンドのオプション/wの使い方にしても参考書の解説では「起動したプログラムが終了まで待つ」と言うような説明がされていましたが、それが何を意味するのか不明でした。

ある外部変形で間違えてstart notepad.exe **** を続けて実行したところ「他のプロセスが使用中です」のようなメッセージがでて
外部変形が実行できませんでした。
全くの偶然から其の時/wの使い方が解りました。

私自身外変初心者でありますが住職さんの仰るとおり試行錯誤により一つずつ壁を乗り越えていかなければならないようです。

コメントする