コマンドプロンプトの中にSUBSTというコマンドがある。パス名(このコマンドができた当時は「フォルダ名」とは呼ばなかった)を未使用のドライブ文字に割り当てるコマンドだ。
SUBST Z: C:MYFOLDERTMP
とやると、これ以降 C:MYFOLDERTMP をZドライブとして扱うことができる。
DIR C:MYFOLDERTMP
と、
DIR Z:
とはおなじだ。
コマンドラインから長いパスを何度も使うようなときにありがたいコマンドだ。
*
78Kの開発ツールのうち、アセンブラやコンパイラは空白を含むフォルダ名を扱えない。確かめていないが、漢字コードが入っていてもダメだという説もある。外国製のコンパイラを安く契約したのかも知れない。
※ 後田さんのブログによると、文字列の中にあるShift-JIS漢字コードをうまく扱えないらしい。例の$5C問題だ。いまどきこの問題を抱えるソフトが残っていたことにちょっと驚き。
ところで会社、自宅、出先とそれぞれ違うマシンを使うので、ジャストシステムのインターネットディスクというサービスを使っている。専用の常駐ソフトが特定のフォルダから下のすべてのファイルに関して更新を監視しており、アイコンのクリックだけで自動的にサーバと同期を取ってくれる。
開発中のソースコードをこの中に入れて同期を取っておくと、自宅に帰ってすぐに作業の続きに取りかかることができる。しかし78K用の開発ツールは空白を含むパスが使えないので困ってしまう。
このサービスが適用されるローカルマシンのフォルダ名には空白が含まれている。適用されるフォルダ自体は好きなところに持って行けるのだが、最終的に選択したフォルダの下に "My Intergetdisk" ができるのだから空白問題は避けがたい。
これをSUBSTコマンドで開発できることに気がついたのは、一週間も悩んだ今日のこと。年々頭が悪くなっていくのはまことに残念なことだ。^^;
※ GUIのほうでもエクスプローラに「ネットワークドライブの割り当て」という機能があるのだが、どうもこれはネットワーク上で共有されているドライブにしか適用できないらしい。試してみたのだが思うようにドライブを割り当てられなかったので、諦めた。できたとしても、開発中のファイルが入っているフォルダをネットワーク共有するような度胸はない。
SUBSTに気がつくまでは、開発中のファイル一式が入っているフォルダをインターネットディスクの適用フォルダから適当なドライブのルートに持ってきて作業し、最後にまたインターネットディスクの適用フォルダに書き戻してからサーバと同期を取るという面倒なことをやっていた。これはたまらん。面倒は我慢するとして、同期を忘れたらややこしいことになる。
SUBSTのおかげで、どのマシンでもZドライブで開発ができるようになったので大変快適だ。コマンドをバッチファイルにして、GUIからダブルクリックでドライブ割り当てができるようにしたので、もう大丈夫。インターネットディスクの適用フォルダ内を仮想ドライブと見立てて操作しているわけだから、当然ながらファイルの更新は自動的に認識される。
それにしても、この時代に空白を含むパスが使えないなんてなぁ…。
SUBST Z: C:MYFOLDERTMP
とやると、これ以降 C:MYFOLDERTMP をZドライブとして扱うことができる。
DIR C:MYFOLDERTMP
と、
DIR Z:
とはおなじだ。
コマンドラインから長いパスを何度も使うようなときにありがたいコマンドだ。
*
78Kの開発ツールのうち、アセンブラやコンパイラは空白を含むフォルダ名を扱えない。確かめていないが、漢字コードが入っていてもダメだという説もある。外国製のコンパイラを安く契約したのかも知れない。
※ 後田さんのブログによると、文字列の中にあるShift-JIS漢字コードをうまく扱えないらしい。例の$5C問題だ。いまどきこの問題を抱えるソフトが残っていたことにちょっと驚き。
ところで会社、自宅、出先とそれぞれ違うマシンを使うので、ジャストシステムのインターネットディスクというサービスを使っている。専用の常駐ソフトが特定のフォルダから下のすべてのファイルに関して更新を監視しており、アイコンのクリックだけで自動的にサーバと同期を取ってくれる。
開発中のソースコードをこの中に入れて同期を取っておくと、自宅に帰ってすぐに作業の続きに取りかかることができる。しかし78K用の開発ツールは空白を含むパスが使えないので困ってしまう。
このサービスが適用されるローカルマシンのフォルダ名には空白が含まれている。適用されるフォルダ自体は好きなところに持って行けるのだが、最終的に選択したフォルダの下に "My Intergetdisk" ができるのだから空白問題は避けがたい。
これをSUBSTコマンドで開発できることに気がついたのは、一週間も悩んだ今日のこと。年々頭が悪くなっていくのはまことに残念なことだ。^^;
※ GUIのほうでもエクスプローラに「ネットワークドライブの割り当て」という機能があるのだが、どうもこれはネットワーク上で共有されているドライブにしか適用できないらしい。試してみたのだが思うようにドライブを割り当てられなかったので、諦めた。できたとしても、開発中のファイルが入っているフォルダをネットワーク共有するような度胸はない。
SUBSTに気がつくまでは、開発中のファイル一式が入っているフォルダをインターネットディスクの適用フォルダから適当なドライブのルートに持ってきて作業し、最後にまたインターネットディスクの適用フォルダに書き戻してからサーバと同期を取るという面倒なことをやっていた。これはたまらん。面倒は我慢するとして、同期を忘れたらややこしいことになる。
SUBSTのおかげで、どのマシンでもZドライブで開発ができるようになったので大変快適だ。コマンドをバッチファイルにして、GUIからダブルクリックでドライブ割り当てができるようにしたので、もう大丈夫。インターネットディスクの適用フォルダ内を仮想ドライブと見立てて操作しているわけだから、当然ながらファイルの更新は自動的に認識される。
それにしても、この時代に空白を含むパスが使えないなんてなぁ…。
どのくらい忘れていたかと言うと、本文を読むをポチッとするまでそのコマンドの意味を思い出せないくらい忘れていた。(^^;
仕事で、某S社のマイコンを使っているが、これの開発環境は概ね20年間変化が無い。ms-dosベースのアセンブラでアセンブルして、ターミナルソフトでエミュレータにシリアル転送し、テンキーコンソールでブレークポイントを設定してデバッグする(^"^;
ところが、このアセンブラが何故だかディレクトリー(あ、フォルダーか…)が深くなるとアセンブルすら出来なくなる。アセンブラ本体も、オプションファイルも全部カレントに入れているんだけどなぁ…。原因を追及するのは面倒だから適当に浅いディレクトリーで作業しているのだが…そうか、substか使えるかも…。
*
78Kは環境のインストール段階でちょいと前のバージョンだと漢字を含んだログイン名でだと跳ねられてしまったから面倒だった。今はちょいと状況が違うみたいだけど、いちいち細部を検証するのもなんだなぁと思うからか、無意識にトラブルの少ない方法を選んでいるのか、あまりトラブルを経験したことがない。
ふぅむ、後田さんのブログかぁ。後ほどしっかり読まさせていただこう…。そういやV850のUSBスティック、写真を撮った後、遊ぶ時間が無くなって、封筒に戻してしまったっけ(^^;
某所で「古いコマンドを出してきましたね」とほめられました。^^;
近ごろの若いもんは、たぶん知りませんよねぇ。「さぶすと? ばっち? なんですか、それ」という反応かな。うちの若い衆に聞いてみるかな。(^_^)
あれですかねー substは定義なので、中に空白があっても
文字として認識する(うーん、文字といってよいか(^^;))んで
しょうかねえ?そんな気がしたんですが。
あれ?σ(・・;はなんで substを見たことがあるんだろう?
はて、どこかで見たぞ?? なんか使ったことあるかも(^^;
しかし、DOSの時代の知識がいまごろ役に立つとはねぇ。なんでも勉強しておいて損になることはありません。
> substは定義なので、中に空白があっても
文字として認識する(うーん、文字といってよいか(^^;))んで
しょうかねえ?
ん?例えば
subst z: c:\Documents and Settings
と、いう様な場合のことでせうか?これはエラーですが
subst z: "c:\Documents and Settings"
これならおっけですね。
どぉ~も
あれ、” ”で囲むと文字ってPASCAL
だったか、Cだったか、ありましたよねー。
一まとめならOKなんですねー。んでもって
そのディレクトリ(フォルダ?)は認識される
んですかねー