DOS窓Openの使い方


WS020SHの設定をしてて、DOS窓Openのところで若干の備忘です。

1.まずはベータではあるが、DOS窓Open2.0βを使う。
2.次にautoexec.batを整備する。
3.カレントディレクトリについて


目的にもよるとは思うのですが、コマンドライン上でrubyプログラムを動かしてコマンドライン上で結果を得る、というわたしの目的にはDOS窓Open2.0βがたいへん適しています。快適です。


私の場合、下記のようにngエディタとrubyにパスを通しています。

PATH \microSD\ruby\bin;\batch;\Program Files\DOSMadoOpen\bin;\My Documents\ng08;%PATH%

つまり、microSDカードは、Pocketの手でmicroSDと名前を変えて、そこにrubyという名前のディレクトリにruby-winceを展開してあります。そこにパスを通すとDOS窓オープン上でrubyが使える。
本体にbatchというディレクトリを作り、そこにいろんなバッチファイルを作ることにより、Unixコマンドもどきを作って使いやすくする。たとえばdirとタイプしてもlsとタイプしても大丈夫にする。
\Program Files\DOSMadoOpen\binにはDOS窓Openについてきたいくつかのexeファイルがありますが、まだあまり試していません。diff.exeとか。
\My Documents\ng08にng.exeを置いてありますが、今回これが一番苦労したところ。以前は\ng08\ppcarm\ng.exeとしてたのですが、GSFinder+で拡張子txtとかに結びつける際、
\My Documentsしか見てくれなくて、それも階層を2段くらいしか探してくれないので、こうしました。そうしたところ、こんどはパスが通らなくて、最終的には\My DocumentsのMyとDocumentsの間のスペースが問題でした。というのも\Program Files\DOSMadoOpen\binの方はパスが通っているので、ProgramとFilesの間のスペースをコピペでMyとDocumentsの間に持ってきたらやっとパスが通った。


コマンドラインでタイプするときのディレクトリの指定がうまく行かないのは、面倒ですが、いちいち一番上の階層から指定すれば大丈夫なようです。というのが下記のようにカレントディレクトリがうまく処理できていないのです。

\> cat temp.txt
=> p %w;this is a pen;
\> ruby temp.txt
["this", "is", "a", "pen"]
という状況で、batchというディレクトリに移動すると下記のようになります。
\> cd batch
\batch>
\batch> ruby temp.txt
["this", "is", "a", "pen"]
\batch> cat temp.txt
指定のファイルが見つかりません:\batch\temp.txt
\batch> cat \temp.txt
p %w;this is a pen;

ね? 変でしょう? でもこれくらいのバグは運用でカバーできますので、問題ありません。それより、てのひらにrubyがある幸せを分かち合いたい!


いつでもruby計算機が使える
いつでもrubyワンライナーが使える。試せる
いつでもngエディタでスクリプトを書いて、rubyで実行できる

以上