●REM #cdって何?
「外部変形をダウンロードしたけど動かない」という質問の回答に良く出てくる
------------
REM #jw
REM #cd <-ここを追加
REM #hm
------------
と、いうふうにBATファイルに「REM #cd」を書き加えて下さい。ってのが有りますよね。
これは何?? と、疑問に思った事ありませんか?
私も他所様の所から見たり聞いたりの事しか分かりませんが、間違っていたら指摘して下さい。
1)REM #cdの意味
外部変形を実行する時、BATファイルが有るディレクトリ(フォルダ)をカレントにする。
直接の意味は、こうゆう事です。
2)BATファイルが有るディレクトリをカレントにするって?
外部変形の仕組みで、(jwc_temp.txt)の重要性を書きました。
この(jwc_temp.txt)を、BATファイルが有るディレクトリ(フォルダ)に作る。という意味です。
「REM #cd」の記述が無い場合は、(jwc_temp.txt)はJw_cadがインストールされているフォルダに作られます。
つまり、読み書きに行くjwc_temp.txtのパスが通っていなくて未実行になるのです。
3)では何故最初から書いて無いファイルが有るの?
それは、Jw_cadや外部変形のルーツから探っていかなければならないと思います。
現在は「Jw_cad」といえば、大半の人はWindows版のJw_cadを指していると思います。
しかし以前は、DOS版Jw_cad(JWC)とWin版Jw_cad(JWW)と言っていました。当然、現在でもJWCとJWWは存在しますし、言い回しを使い分ける必要が有ると思いますが、私は最近Jw_cad=JWWの認識で書いてます。
DOS版の場合は、DOS版Jw_cad(JWC)と付け加えてます。
話しがそれましたが・・(^^ゞ 外部変形も、DOS版Jw_cad(JWC)の時代から当然ありました。
その、DOS版Jw_cadの外部変形には「REM #cd」という概念が無く(jwc_temp.txt)は、DOS版Jw_cadがインストールされているフォルダに作られました。
現在のWin版Jw_cadの外部変形は、DOS版Jw_cadの外部変形を元に作られて来たものだと思いますし、DOS版の外部変形でもほとんどWIN版で動いています。
中には例外も有るようですが・・??
最初に戻りますが・・
------------
REM #jw
REM #cd <-ここを追加
REM #hm
------------
この最初の記述 REM #jw これがJw_cad用外部プログラムの宣言になります。
#jw の代わりに #jww を記述すると、Win版Jw_cad(JWW)形式になります。
お解りですよね。「REM #cd」が無いからと言ってそのプログラムは間違いでは無いのです。プログラムの宣言が
#jw の場合は、DOS版Jw_cad形式の外部変形ですから・・(って事ですよね?違っていたらツッコミを(^^ゞ)
逆を返せば #jww とJWW形式の宣言をしていて任意のフォルダに置くことが出来る外部変形には必ずこの REM #cd の設定がされているという事になります。
JWW形式の宣言をしていて、REM #cd の記述の無い外部変形は存在しない。という事です。
この事は、siegelさんに教わりました。<(_ _)>。。
4)でも有るよ?・・#jwwで、REM #cd の無いBATファイル
確かに、REM #jww とJWW形式のプログラムの宣言をした外部変形でも REM #cd の記述が無い物が有ります。
しかし、上の REM #cd の意味をもう一度良く理解して下さい。「BATファイルが有るディレクトリ(フォルダ)をカレントにする。」という事でしたよね。
REM #cd の記述が無くても、他でカレントディレクトリにさせる記述が必ず有ります。
例題は、ここ を見て下さい。(jwc_temp.txt)を吐き出すパスを指定しているのです。
「外変が動かない」という質問に、このパスの記述を書き換える必要が有ることも確かです。
(^_^;)・・ちょっと難しくなっちゃいましたかね?
他にも、Snap_kinさんの場合も有るのですが、Snap_kinさんの場合は、「 G+ for Jww」を使う事を前提に作られていますので必要無いんです。
Snap_kinさんの外変を単独で使用する場合の例題を ここ に書いておきました。
全ての事柄は、外変をダウンロードした時に添付されている説明書に書かれています。
この説明書を熟読することが解決の一歩だと思いますよ。
◆ 参考文献 ◆
Jw_cad 徒然草-3 内 REM #cd