158
189

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「ファイル名を指定して実行」を極める

Last updated at Posted at 2018-06-01

Win + R キーで開ける「ファイル名を指定して実行」。

180601_202350_run.JPG

地味に便利なコイツの使いこなし術(と一部マニアックなネタ)をお届けします。

なぜ「ファイル名を指定して実行」を使うの?

どの Windows でも使えるから

Windows に標準で備わっている機能なので、どの Windows でも使えます。共有 PC、仮想マシン、後輩の PC、客先の PC などでもサクっと使えます。

軽くて速くてシンプルだから

下手なプログラムランチャーよりも軽くて、速くて、シンプルなので地味に使いやすいです。

覚えておくと便利なコマンド

厳密に取り上げると長文になっちゃいますが、私がよく使うコマンドを挙げておきます。

標準アプリ

コマンド 備考
calc 電卓
cmd コマンドプロンプト
control コントロールパネル
excel Excel
explorer エクスプローラー
iexplore Internet Explorer
msinfo32 システム構成
mspaint ペイント
mstsc リモートデスクトップ
notepad メモ帳
powerpnt PowerPoint
regedit レジストリエディタ
taskmgr タスクマネージャ
winword Word

その他参考:

コマンド

cd や dir や if など、コマンドプロンプトから使うようなコマンドは「ファイル名を指定して実行」から実行できません(もっと言うと where コマンドで実体が見つからないもの)。これらコマンドはコマンドプロンプトに組み込まれているものなので、コマンドプロンプトを経由して実行させてやる必要があります。

以下のようにします。

cmd /c コマンド

例1: if コマンドのヘルプをクリップボードにコピーする

cmd /c if /? | clip

例2: if コマンドのヘルプをクリップボードにコピーした後、(貼り付ける用の)メモ帳を開く

cmd /c if /? | clip & start "" notepad

環境変数(特殊フォルダ)

特殊なフォルダを開く時に使います。

%userprofile%

ユーザープロファイルフォルダを開きます。開発環境系の Dotfiles は大体ここにあるので地味に多用します。たとえば Git の global config をいじりたい場合、hidemaru %userprofile%\.gitconfig で開けます(hidemaru部分はお使いのエディタを)。

%appdata%

アプリケーションデータフォルダを開きます。アプリの設定をいじったりバックアップしたりする時にたまに開きますかね。

shell:XXXX(特殊フォルダ)

これも特殊フォルダを開く系です。

コマンド 備考
shell:desktop デスクトップ
shell:start menu スタートメニュー
shell:sendto 送るフォルダ
shell:recent 最近使ったファイル

ちなみに shell:XXXX の XXXX として使えるのは、レジストリの HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders にて定義されているフォルダパスです。

※レジストリ開くのがだるい方は Windows 7 のユーザーフォルダ(User Shell Folders)の初期値 あたりにもまとまってます。

XXXX.cpl(コントロールパネル)

コントロールパネル系です。

コマンド 備考
control folders フォルダオプション
inetcpl.cpl インターネットオプション
main.cpl マウスのプロパティ
appwiz.cpl プログラムの追加と削除
sysdm.cpl システムのプロパティ(Win + Pause/Break キーの方が速いですが)
services.msc 管理ツールのサービス

参考: How to run Control Panel tools by typing a command

explorer shell:::{CLSID}

Windows には CLSID という「Windows 上のアプリや機能に割り当てられた識別子」があります。これを指定することでその機能を呼び出すこともできたりします。

例: explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}

これは「ファイル名を指定して実行」を(CLSIDを指定して)呼び出す例です。

「ファイル名を指定して実行」を開くコマンド

リモートデスクトップを使っていると Win + R キーが効かない(というより接続元が反応してしまう)ことがあり、素早く呼び出せません。そんな時は以下のバッチファイルを作りましょう。

run.bat

start "" explorer Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}

これをどこか起動しやすい場所に置いておけば、ワンタッチで開けます。スタートメニュー → ファイル名を指定して実行、よりも速いです。

(余談)他にどんな CLSID があるの?

本題から逸れるので簡単に。

下記が参考になると思います。全部で 120 個くらいあるみたいですね。

履歴を削除する

「ファイル名を指定して実行」の履歴はレジストリ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU に記録されているので、ここを消すことで削除できます。ちなみに PowerShell を使えば一発で削除できるようです。

参考: 世界一簡単な「ファイル名を指定して実行」の履歴のクリア(全消し)手順 - Qiita

任意アプリを任意名で開けるようにする

「ファイル名を指定して実行」から好きなキーワードで好きなアプリを開けるようにすることも実は可能です。結論を言うと ショートカットファイルを、PATH の通ったフォルダに置きます

手順:

  • (1)ショートカットを放り込む用のフォルダを作る
  • (2) 1 のフォルダを PATH に通す
  • (3) 1 のフォルダ内の各ショートカット名を工夫する

すると、ショートカット名を打つだけで開けるようになります。たとえば Firefox.exe のショートカットを fi という名前で置いておくと、fi と打つだけで Firefox を開けます。

ちなみに (2) が面倒くさい場合は、C:\Windows や C:\Windows\System32 など元から PATH の通ったフォルダにショートカットを放り込めばいいです。ただこれらはシステムフォルダなので行儀はよくないですね :sweat:

コマンドラインをサクッと実行したい

「このコマンドラインを実行したい」というシチュエーションがあると思います。皆さんはどうしていますか?コマンドプロンプトを開いてから貼り付けていますか?

「ファイル名を指定して実行」を使えば割と簡単に実行できます。

手順:

  • コマンドラインをコピーする
  • Win + R キーを押す
  • Ctrl + V キーを押す
  • Enter キーを押す

コピーしたコマンドラインを上記 3 ステップで開けます。覚えておくとサクッと開けて快適です。

ただしコマンドラインのファイルパスや引数にスペースを含む場合は "" で囲みましょう。

NG:
c:\program files\AutoHotkey\AutoHotkey.exe C:\Users\UserHoge\Desktop\Data folder\ahk.ahk

OK:
"c:\program files\AutoHotkey\AutoHotkey.exe" "C:\Users\UserHoge\Desktop\Data folder\ahk.ahk"

履歴に関する細かいネタ

履歴が保存されない in Win10

設定 > システム > パーソナル > スタート > よく使われるアプリを表示する を オン にしてください。

※グレーアウトされている場合は、先に設定 > プライバシー > Windows 追跡アプリの起動を許可してスタート画面と検索結果の質を向上します をオンにすれば解除できます。

参考:

履歴の仕様

レジストリエディタを見ればわかりますが、ちょっとヘンテコな仕様をしています。

  • 保存場所は HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
  • 保存可能な 履歴数は 26 個まで
  • 履歴1件はアルファベット1文字のエントリと対応付けて保存
  • 履歴の表示順序は MRUList エントリにてアルファベットを並べる
    • 例: malkt... は履歴m, a, l, k, tの順に表示する、の意

「ファイル名を指定して実行」を禁止する

レジストリを使うと、「ファイル名を指定して実行」の表示と実行を禁止することもできます。

やり方としては、

  • レジストリエディタ regedit.exe を開く
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer キーを開く
  • NoRun というエントリを REG_DWORD で新規し、値に 1 を設定

環境によっては Windows を再起動しないと反映されないかもです。

参考: 禁止動作等の設定 - いじくるつくーるのヘルプ

「ファイル名を指定して実行」の英語名

RUN です。一般動詞すぎて検索が辛いです。

検索するときは「windows run dialog」のように補足でキーワードを付けるのが良いでしょう。

おわりに

以上、「ファイル名を指定して実行」に関するネタをお届けしました。参考になれば幸いです。

また「こんなネタもあるよ!」等ありましたらぜひ教えてください!

158
189
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
158
189

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?