Windows
 Computer >> コンピューター >  >> システム >> Windows

コマンドプロンプト・PowerShellの起動時にコマンドを自動実行する方法

コマンドプロンプト・PowerShellの起動時にコマンドを自動実行する方法

パソコンを長く使っていると、いつしか自分なりの作業フローが自然とできあがってきます。シンプルなものもあれば複雑なものもあり、使い込むほど自分だけの独特な流れが生まれるものです。そして作業量が増えるほど、コマンドプロンプトや、より強力なPowerShellを活用する場面も増えていくでしょう。

中には、PowerShellやコマンドプロンプトを起動するたびに、毎回同じコマンドを入力していることに気づくこともあるはずです。せっかくなので、その手間を省いて、起動時に自動的に実行するように設定してみてはいかがでしょうか。

自動コマンドでできること

たとえば、コマンドプロンプトやPowerShellを使うたびに、特定のディレクトリへ大量のファイルを作成するような作業フローがあるとします。自動コマンドを設定しておけば、プロンプトを開くたびにそのディレクトリを自動的にクリーンアップできます。

また、コマンドプロンプトやPowerShellが起動するときの既定のディレクトリ(作業フォルダ)を変更する用途にも活用できます。これらはほんの一例であり、実際に何を自動実行するかは、あなた自身の作業スタイル次第です。

PowerShellで自動コマンドを設定する方法

PowerShellでコマンドを自動実行するには、「プロファイル」を編集します。まず、すでにプロファイルが存在するかどうかを確認しましょう。PowerShellを開いて、以下のコマンドを入力してください。

Test-Path $Profile

このコマンドは「True」または「False」を返します。「False」だった場合は、次のコマンドでプロファイルを新規作成します。

New-Item –Path $Profile –Type File –Force

注意点として、このコマンドは既存のプロファイルを上書きします。前のコマンドが「True」を返した場合は、基本的に実行しないでください。設定を最初からやり直したい場合にのみ使用しましょう。

コマンドプロンプト・PowerShellの起動時にコマンドを自動実行する方法

続いて、実際に自動コマンドを登録するためにプロファイルを編集します。テキストエディタは何を使っても構いませんが、Windowsには標準でメモ帳が付属しているので、ここではメモ帳を使用します。以下のコマンドでプロファイルを開けます。

notepad $Profile

このファイルには、PowerShellで実行可能な任意のコマンドを自由に記述できます。ここに書いた内容は、PowerShellを起動するたびに自動的に実行されます。Linuxに慣れている方なら、「~/.bash_profile」を編集するのと同じ感覚だと考えると分かりやすいでしょう。

ただし、多くの環境ではPowerShellの実行ポリシーによってスクリプトの実行がブロックされます。これはシステムを安全に保つためのセキュリティ機能です。自作スクリプトの実行を許可するには、PowerShellを管理者として起動し、以下のコマンドを実行します。

Set-ExecutionPolicy RemoteSigned

表示される確認メッセージの内容をよく読み、「Y」と入力して新しい実行ポリシーを適用してください。

コマンドプロンプトで自動コマンドを設定する方法

PowerShellでのUnix風のアプローチと比べると、コマンドプロンプトでの設定方法はよりWindowsらしいものになっています。やり方は主に2通りあり、自分の作業スタイルに合わせて選択できます。

方法1:Windowsレジストリを使う

先ほどのPowerShellの方法と同様に、コマンドプロンプトを起動するたびに実行するスクリプトを指定する方式です。ただし、こちらはWindowsレジストリを使って、どのファイルを実行するかを定義します。この例では、「auto.cmd」というファイルを使うことを想定しています。

必要なレジストリ値を作成するには、コマンドプロンプトを開いて、以下のコマンドを実行します。

reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_EXPAND_SZ /d "%USERPROFILE%\auto.cmd" /f

コマンドプロンプト・PowerShellの起動時にコマンドを自動実行する方法

次に、ユーザープロファイルフォルダ(通常は「C:\Users\ユーザー名」)の中に「auto.cmd」という名前のファイルを作成します。

このファイルに、コマンドプロンプトの起動時に自動実行したいコマンドを記述してください。

もし後になって不要になった場合は、レジストリ値を削除すれば元に戻せます。その際は以下のコマンドを実行します。

reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun

方法2:ショートカットを使う

用途がシンプルで、レジストリを編集したくない場合は、デスクトップショートカットを利用する方法が便利です。Windows 10であれば、スタートメニューからコマンドプロンプトを探し、右クリックして「ファイルの場所を開く」を選択します。表示されたコマンドプロンプトのショートカットをコピーし、デスクトップに貼り付けましょう。

貼り付けたショートカットを右クリックして「プロパティ」を開くと、アプリのパスが記載された項目があります。以下のような内容になっているはずです。

C:\Users\<ユーザー名>\Desktop\cmd.exe

このパスに「-cmd /K」と、実行したいコマンドを追加するだけです。たとえば次のように書きます。

C:\Users\<ユーザー名>\Desktop\cmd.exe -cmd /K cls

これで、コマンドプロンプトを開いた直後に画面がクリアされます。さらに、複数のコマンドをつなげたい場合は、コマンド同士を「&&」で連結します。別の例を見てみましょう。

C:\Users\<ユーザー名>\Desktop\cmd.exe -cmd /K cls && dir

この例では、画面をクリアした後にカレントディレクトリの内容一覧が表示されます。

まとめ

やりたいことに応じて、上記のいずれかの方法、あるいは複数の組み合わせが役立つはずです。コマンドプロンプトをさらに活用したい方は、見た目や表示をカスタマイズする方法についてのガイドもあわせてチェックしてみてください。


  1. Windows 10でコマンドプロンプトを管理者として実行できない問題を解決する6つの方法

    Windows 10では、システム設定の重要な変更や特定の機能を実行する際に、コマンドプロンプトを管理者として起動する必要があります。ところが、「管理者として実行」ができないトラブルに直面することがあります。本記事では、この問題の主な原因と、誰でも試せる効果的な解決策を6つ紹介します。コマンドプロンプトを管理者として実行できない原因とは?この問題が発生する背景には、さまざまな要因が考えられます。主なものは以下の通りです。ユーザーアカウントの不具合 … 使用中のアカウント自体に問題があるケースセキュリティソフトとの競合 … アンチマルウェアやアンチウイルスソフトが他のプログラムと干渉しているケー

  2. コマンドプロンプトとPowerShellでアプリをインストールする方法|Chocolatey完全ガイド

    ソフトウェアのインストールは、手間がかかり、繰り返し作業になりやすく、ミスも起こりやすいプロセスです。アプリを使い始めるまでに、ダウンロード→インストーラーの起動→完了待ちという流れが必要で、多くの時間を消費します。コマンドプロンプトからのアプリインストール方法を覚えれば、この時間を大幅に節約できます。さらにPowerShellを使えば、複数のアプリを同時にインストールすることも可能です。 PowerShellとコマンドプロンプトは、Windows 10/11上のアプリケーションをスムーズにインストールできるツールです。ただし、それぞれインストール手順には若干の違いがあります。本ガイドでは、コ