Windowsのコマンドラインシェル、cmdにはDOSKEYというユーティリティがある。ファンクションキーや矢印キー等での補完を担当するものだ。
それとは別に、マクロというコマンドの別名が定義出来る機能がある。bash(に限らないが)のaliasみたいなものだ。
前回、cmdでも起動時に実行するバッチファイルを書ける事が解ったので、俄然DOSKEYマクロの使い道が出来た。と言う訳で、次のようなマクロを書いた。
doskey pathpp=PATH $b sed -e "s/^PATH=//" $b sed -e "s/;/\n/g"
PATHは設定したパスを";"で区切って出力するので見にくい。なので、";"の代わりに改行で見やすく出力するようにしたのがこのマクロだ。
さて、このpathppコマンドの出力結果をパイプし、別のコマンドに渡そうとしたが、上手く行かない。
pathpp | SOMECOMMAND
この様にしても、pathppの出力のみ表示され、SOMECOMMANDに渡されない。
気になって調べてみると、リダイレクトも効かない。
pathpp > output.txt
としても、output.txtは作成されず、pathppの結果がコンソールに出力されるのみ。alias万歳。doskeyは微妙。 - 新・日々録 by TRASH BOX@Eelによると、そういう仕様らしい。bash(他、Linuxで使われる各種コマンドラインシェル)のaliasは問題ないというのに……
バッチファイルにすれば問題ないらしいが、たかだかこの程度の単純な内容でファイルを作るというのもねぇ。
cmdはファイル名補完機能も貧弱だし、さっさと他のシェルに移行した方が良いのかもしれない。つかえねぇ……



Save This Page
名前:天井冴太 (AmaiSaeta)

