過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/08/15
【dev】Windows コマンド pshell を公開

 
pshell コマンドというフロントコマンドを開発しました。
どんな使い方が出来るか、という視点で紹介します。
 
環境変数 PATHを現在時刻と共に表示する
 
◆pshell の場合 
pshell echo $(date /t) `time /t` ${PATH}
 
◆通常コマンドの場合
echo %date% %time% %PATH%
 
Linux シェルのような使い勝手
  
・バッククォートによるプロセス起動
・$() によるプロセス起動
・${} による環境変数展開
 
が可能となります。これが出来る事により、pshell をフロントコマンドとして
利用する事で、Windows の全てのコマンドに対して、引数にコマンドの
戻り値を渡すことが出来ます。
 
以下のコマンドを利用すると、わかりやすいかもしれません。
 
pshell echo $(dir /b)
 
カレントディレクトリの全てのファイルを、引数として echo コマンドに渡して
います。
pshell_sample_dir 
 
上記は Windows フォルダにある全ての log ファイルを echo コマンドの引数に
渡しています。 また pshell はパイプとしても利用可能です。
 
 
pipe として利用する
 
Windows の date コマンドは貧弱なので、良いサンプルを標準コマンドでは
記述できないのですが、
 
dir /b | pshell find "`echo txt`"
 
上記のようにコマンドの出力結果を、find に渡すことも可能となります。
 
 
他にも「現在時刻に更新されたファイル・ディレクトリを出力する」には、
 
dir| pshell find "`time /t`"
 
とすることで可能となります。
 
doskey で既知のコマンドをオーバーライドする
 
doskey を使うことにより、既知のコマンド名を用いながら pshell コマンドを
通す事ができます。
 
doskey echo=pshell echo $*
 
上記のように定義する事により echo $(dir /b) と入力するだけで pshell を
通したことになります。cygwin を必要としないのでけっこう便利です。
 
 
但し doskey はパイプには利用できないので、バッチファイルなどの代替手段を
必要とする場合があります。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。