週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • 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の部屋「週アスブログ記事コメントスレ」で質問してみてください。

 

 

この記事をシェアしよう

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