Wed, April 18, 2007
Cygwin上でのMacOSXと同じようにopenコマンドが使いたい
MacOSXのターミナルでは、open コマンドを使うことで、ファイルを関連づけされている アプリケーションで開いたり、現在のディレクトリまたは指定したディレクトリを Finderで開くことができる。
Finder代わりに、 ターミナルを使ってファイルの操作をしていると、このopenコマンドが非常に便利なのだが Cygwinでも同じようなことができないのか?
Cygwinでオープンコマンドに該当するのは cmd.exe
調べてみると WindowsXP でも cmd.exe /c start を使えば openコマンドと同じようなことができること判明。
たとえば、以下のようにHTMLファイルを開いたり、ワード文書を開いたり、ディレクトリを指定して ウインドウズエクスプローラで表示することができる。
指定したファイルに適切なアクセス権がないと開くことができないようです。 詳しく調べたわけではないですが、どうも実行権限までついていないと、いけないような・・・
HTMLファイルを開く
$ cmd.exe /c start foo.html
ワード文書を開く
$ cmd.exe /c start foo.doc
現在のディレクトリをエクスプローラーで開く
$ cmd.exe /c start .
openコマンドを用意する
毎回 cmd.exe /c start などと入力するのは面倒なので、 以下のような openコマンドを用意してパスの通ったディレクトリにコピーしておく。
自作 open コマンド
#!/bin/bash
cmd.exe /c start $1
これで、MacOSXのターミナル上と同じようにopenコマンドを使うことができる。