Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

Windows コマンド プロンプトPowerShell などのコマンド ライン環境では、コマンドと引数を区切るためにスペースを使用しますが、ファイル名やディレクトリ名にはスペースを含めることもできます。内部にスペースが含まれるファイル パスを指定するには、それを「エスケープ」する必要があります。

なぜスペースをエスケープするのでしょうか?

「エスケープ」または文字をエスケープすると、その意味が変わります。たとえば、スペースをエスケープすると、シェルはそれをコマンド ライン引数を区切る特殊文字ではなくスペース文字として扱います。

テキスト ファイルがあり、その内容を表示したいとします。 typeコマンドで実行できます。テキスト ファイルがC:\Test\File.txtにあるとすると、コマンド プロンプトで次のコマンドを実行すると、その内容が表示されます。

type C:\Test\File.txt

では、同じファイルがC:\Test Folder\Test File.txtにある場合はどうなるでしょうか。以下のコマンドを実行しようとしても機能しません。ファイル パス内のスペースが邪魔になっています。

type C:\Test Folder\Test File.txt

コマンド ラインは、 C:\Testという名前のファイルを検索しようとしていると認識し、「指定されたパスが見つかりません」(指定されたパスが見つかりません)と表示します。

Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

コマンドラインで指定されたパスが見つかりません

Windows で空白をエスケープする 3 つの方法

Windows ではファイル パスをエスケープする方法が 3 つあります。

  1. パス (またはその一部) を二重引用符 ("") で囲みます。
  2. 各スペースの前にキャレット文字 (^) を追加します。 (これはコマンド プロンプト/CMD でのみ機能し、すべてのコマンドで機能するわけではないようです)。
  3. 各スペースの前にアクセント文字 (`) を追加します。 (これは PowerShell でのみ機能しますが、常に機能します)。

この記事では、それぞれの方法の使用方法を説明します。

パスを引用符で囲みます

Windows がファイル パスを適切に処理する標準的な方法は、ファイル パスを二重引用符 ("") 文字で囲むことです。たとえば、上記のサンプル コマンドの場合、コマンドは次のように実行されます。

type "C:\Test Folder\Test File.txt"

実際には、必要に応じてパスの一部を引用符で囲むことができます。たとえば、そのフォルダーにFile.txtという名前のファイルがあるとします。以下を実行できます。

type C:\"Test Folder"\File.txt

ただし、その必要はありません。ほとんどの場合、パス全体を引用符で囲むだけで済みます。

このソリューションは、従来のコマンド プロンプト (CMD) 環境と Windows PowerShell の両方で機能します。

Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

パスを引用符で囲みます

スペースの前にキャレット文字 (^) を使用します。

コマンド プロンプトでは、理論的にはキャレット文字 (^) を使用してスペースをエスケープできます。ファイル名の各スペースの前に追加するだけです。 (この文字はキーボードの数字の行にあります。キャレット文字を入力するには、Shift + 6を押します)。

問題は、これは効果的ではありますが、常に機能するとは限らないことです。コマンド プロンプトでのこの文字の処理は奇妙です。

たとえば、サンプル コマンドで次のコマンドを実行すると、コマンドは機能しません。

type C:\Test^ Folder\Test^ File.txt

Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

上記のコマンドは機能しません

一方、コマンド プロンプトにパスを入力してファイルを直接開こうとすると、キャレット文字がスペースを適切にエスケープする場合があります。

C:\Test^ Folder\Test^ File.txt

Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

キャレット文字は空白を適切にエスケープします

では、いつ機能するのでしょうか?調査によると、一部のアプリでのみ機能するようです。使用しているコマンドによっては状況が異なる場合があります。コマンド プロンプトでのこの文字の処理は奇妙です。使用しているコマンドを試してみてください。機能する場合と機能しない場合があります。

一貫性を保つために、この記事ではコマンド プロンプトで二重引用符を使用するか、PowerShell に切り替えて以下の方法を使用することを推奨しています。

アクセント文字 (`) を使用する

PowerShell は、アクセント文字 (`) をエスケープ文字として使用します。ファイル名の各スペースの前に追加するだけです。 (この文字はキーボードのTabキーの上とEscキーの下にあります)。

type C:\Test` Folder\Test` File.txt

アクセント付き文字ごとに、PowerShell で後続の文字をエスケープする必要があります。

これは PowerShell 環境でのみ機能することに注意してください。コマンド プロンプトではキャレット文字を使用する必要があります。

Windowsコマンドラインでファイルパス内のスペースをエスケープする方法

アクセント文字 (`) を使用する

Linux や macOS などの UNIX 系オペレーティング システムに慣れている場合は、スペースの前にバックスラッシュ文字 (\) を使用してエスケープすることに慣れているかもしれません。 Windows ではこの文字が通常のファイル パスに使用されるため、機能しません。キャレット (^) 文字とアクセント記号 (`) は、使用しているコマンド ライン シェルに応じて、Windows バージョンのバックスラッシュです。

続きを見る:


Windows 10で欠落しているデフォルトの電源プランを復元する方法

Windows 10で欠落しているデフォルトの電源プランを復元する方法

このガイドでは、Windows 10でデフォルトの電源プラン(バランス、高パフォーマンス、省電力)を復元する方法を詳しく解説します。

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

仮想化を有効にするには、まず BIOS に移動し、BIOS 設定内から仮想化を有効にする必要があります。仮想化を使用することで、BlueStacks 5 のパフォーマンスが大幅に向上します。

WiFi接続に接続する際のドライバーの切断を修正

WiFi接続に接続する際のドライバーの切断を修正

WiFi 接続に接続するときにドライバーが切断されるエラーを修正する方法を解説します。

Windows での DIR コマンドの使用方法

Windows での DIR コマンドの使用方法

DIR コマンドは、特定のフォルダーに含まれるすべてのファイルとサブフォルダーを一覧表示する強力なコマンド プロンプト コマンドです。 Windows での DIR コマンドの使用方法を詳しく見てみましょう。

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアなしで Windows 10 アプリをバックアップし、データを保護する方法を説明します。

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows のローカル グループ ポリシー エディターを使用して、通知履歴の削除やアカウントロックの設定を行う方法を説明します。

最高の IP 監視ツール 10 選

最高の IP 監視ツール 10 選

重要なリソースを簡単に監視及び管理できる<strong>IP監視</strong>ソフトウェアがあります。これらのツールは、ネットワーク、インターフェイス、アプリケーションのトラフィックをシームレスに確認、分析、管理します。

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt は、データの暗号化に特化した優れたソフトウェアであり、特にデータ セキュリティに優れています。

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

システムフォントのサイズを変更する方法は、Windows 10のユーザーにとって非常に便利です。

Windows 10で機内モードをオフにできないエラーを修正する方法

Windows 10で機内モードをオフにできないエラーを修正する方法

最近、Windows 10にアップデートした後、機内モードをオフにできない問題について多くのユーザーから苦情が寄せられています。この記事では、Windows 10で機内モードをオフにできない問題を解決する方法を説明します。