週刊アスキー

  • Facebookアイコン
  • Xアイコン
  • RSSフィード

コマンドウィンドウを開かないでコマンドを実行する方法

2010年05月13日 05時36分更新

つい先日知ったのだが、ウィンドウズ7のエクスプローラーで、アドレスバーにコマンドを入力すると、ちゃんとそれが実行される。

アドレスバーでコマンド実行1
↑たとえば、ライブラリフォルダーのアドレスバーに“notepad”と入力してEnterを押すと……
アドレスバーでコマンド実行2
↑メモ帳が起動する。

これは、スタートボタンの“プログラムとファイルの検索”欄でも同じことだが、違いもある。スタートボタンのほうでは、“notepad”のほか“メモ帳”と入力してもメモ帳が起動するが、エクスプローラーのアドレスバーでは“メモ帳”と入力しても何も起こらない。

いくつか試してみる。
excel

アドレスバーでコマンド実行3
↑エクセルがインストールしてあれば(excel.exeが存在すれば)、ちゃんと起動する。

dummy

アドレスバーでコマンド実行4
↑存在しないコマンドに対しては、ウェブブラウザーで“http://dummy/”にアクセスしようとする。

desk.cpl

アドレスバーでコマンド実行5
↑コンパネの“画面の解像度”が起動。

gpedit.msc

アドレスバーでコマンド実行6
↑ローカルグループポリシーエディターが起動

いずれも、ポイントは
●コマンドを入力したときエクスプローラーで開いていたフォルダーにないものでもOK。
※ただし、“ドキュメント”フォルダーの中か、デスクトップか、パスが通っているフォルダーに置いてある必要があるようだ。
●正確なファイル名を入力する必要がある。アプリケーションソフトの拡張子“.exe”をのぞき、拡張子まで入力する。大文字か小文字かはどっちでもいい。
ということだ。

 
もうちょっと調べてみる。(以下いちいち画像は示さない。)

folder

同じウインドーでフォルダーが開く。

shortcut

ショートカットをつくった場合は、ショートカット名の入力でアプリが起動したりフォルダーが開いたりする。この場合、ショートカットは正式には
shortcut.lnk
のように“.lnk”という拡張子が付くが、省略可。ショートカット自体が、今開いているフォルダーかデスクトップか“ドキュメント”かパスの通ったフォルダー内にあれば、本体のファイルはどこにあっても構わない。

ごみ箱

ごみ箱が開く。その他、c:user<ユーザー名> の中にある、
アドレス帳、お気に入り、スタート メニュー、デスクトップ、マイ ドキュメント、マイ ピクチャ、マイ ビデオ、マイ ミュージック、リンク
も、その通りに入力すれば、そのフォルダーが開く。c:user<ユーザー名>の中にあってもこれ以外のフォルダーは開かない。

test.txt

パスが通っているフォルダーかデスクトップか“ドキュメント”にtest.txtが存在すれば、規定のテキストエディターで開く。つまり、○○.exeというような実行ファイルだけでなく、○.txtや、○.docなどのデータファイルでも、それをダブルクリックしたときと同様に規定のアプリケーションで開くということだ。

週アス.txt

漢字カタカナなどでもちゃんと開く。これは、フォルダーやショートカットでも同じだった。


たんにアプリケーションが起動するだけでなく、開くファイルも指定できるだろうか? たとえば、今開いているフォルダーにtest.htmlというファイルがあったとする。

notepad test.html

とやると、ちゃんとメモ帳でtest.htmlが開かれる。
test.htmlがないフォルダーを開いて同様に

notepad test.html

とやると“ファイルtest.htmlが見つかりません。新しく作成しますか”というメッセージ。
つまり、コマンドファイル自体はパスが通っている場所にあればいいが、引数としてファイルを指定した場合は、今開いているフォルダーが対象となるということのようだ。

note*.exe

ワイルドカードは使えるかということだが……。たとえば、test1.txtとtest2.txtと2つのファイルがあって、test?.txtとやったら、両方とも開く?
ダメだった。ワイルドカートは使えないっぽい。


------

で、それがどうした。という話だが、個人的には以下のような使い方ができるのがうれしいかな。

以前に「リストアップされた名前のフォルダーをいっきに作る方法」というエントリー(2010年2月23日)を書いたときに、コマンドプロンプトでのやりかたを紹介した。
そのとき、

1.フォルダーを作りたい場所に、フォルダー名の一覧である“list.txt” を置き、そのフォルダーの何もないところでshiftキーを押しながら右クリックして“コマンドウィンドウをここで開く” を選択。
ただし、なぜか“ドキュメントライブラリ”内だと“コマンドウィンドウをここで開く”メニューが表示されないっぽい。ので、デスクトップなどほかの場所を使用する。

と書いたが、まず、わざわざ“コマンドウィンドウをここで開く”を選択する必要がない。それは、エクスプローラーのアドレスバーに、たとえば次のように書けばいいからだ。
cmd /c "dir /a-d /b > fileslist.txt"
これで、今開かれているフォルダー内のファイル一覧が、そのフォルダーに作られる。

cmd /c "<コマンド>"
で、そのフォルダーでコマンドウィンドウを開いて<コマンド>で指定したコマンドを実行したのと同じことになる。
先に書いたように、コマンドやアプリケーションソフトは、そのフォルダー内になくても構わないのに、この<コマンド>に書かれる引数などは、アドレスバーに入力したフォルダーのみが対象となることに注意。
ただし、“コマンドウィンドウをここで開く”が表示されない“ドキュメントライブラリ”に対してもコマンドは実行できるが、対象フォルダーがどうやら
c:Windowssystem32
になってしまう模様。これは残念。

まぁ、こんなコマンド(cmd /c "dir ~~)いちいち覚えるのも大変なんだけど。残念ながら、お気に入りへの登録はうまくいかなかった。登録自体はできるのだけど、いま開いているフォルダーを認識してくれないっぽい。アドレスバーの右端の▼を押せば入力履歴が出るので、多少は利用できるかな。

なんかマニアックな話ですみません。

この記事に対するご意見ご感想や、「パスが通ってるどういうこと?」みたいな詳細が知りたい人は、週アスコミュニティーのWindows7の部屋「週アスブログ記事コメントスレ」で質問してみてください。

 

 

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

本記事はアフィリエイトプログラムによる収益を得ている場合があります