Windows 10で「パスが長すぎ」てエラーが発生したときの対処方法

Windows 10で「パスが長すぎ」てエラーが発生したときの対処方法

Windows環境でファイルを操作するときなどに「パスが長すぎる」ために、ファイル名を変更できなかったり、ごみ箱に移動できないといったエラーが発生することがあります。

これは、Windowsやアプリケーションで扱えるパス(フォルダー名+ファイル名)の長さに制限があるためで、Windowsでは一般的には255文字~260文字が上限となっています。

このようなときは、長さの上限に収まるようフォルダー名を変更するのが簡単ですが、フォルダー名変更できない場合や、フォルダーの階層が深い場合は厄介です。

そこでここでは「パスが長すぎる」てエラーが発生したときに、フォルダー名を変更せずにパスを短くする方法や、パスの長さ制限を解除する方法を紹介します。

Windows 10で「ファイル名が長すぎ」てエラーが発生したときの対処方法
ここでは、Windowsでファイル名が長すぎてエラーが発生する場合に、8.3形式の短い名前を利用してエラーを回避する方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit21H1

ジャンクションでパスを短くする

フォルダー名を変更せずに対応する方法のひとつは、「mklink」コマンドで「ジャンクション」を作成しパスを短くする方法です。

Memo

mklinkコマンドは、Windows環境に標準搭載されているコマンドで、シンボリックリンク・ハードリンク・ジャンクションといったフォルダーへのリンク(接続)を作成することができ、ジャンクションは一般ユーザーでも作成できます。

ジャンクションの作成方法は、コマンドプロンプトを起動して次の書式でコマンドを実行します。

> mklink /J <ジャンクションフォルダー> <対象ファイルのフォルダーパス>

たとえば「E:\acbdefg\hijklmn\opqrstu\vwxyz\abcdefg\hijklmn」という長いパスを「E:\A」という短いパスでアクセスできるようにするには、次のようにコマンドを実行します。

なお、ジャンクションフォルダーには存在するフォルダーを指定することはできません。

> mklink /J E:\A E:\acbdefg\hijklmn\opqrstu\vwxyz\abcdefg\hijklmn

コマンド実行後「XXXのジャンクションが作成されました」と表示されていれば、作成完了です。

Windows 10で「パスが長すぎ」てエラーが発生したときの対処方法

あとは、エクスプローラーなどからジャンクションフォルダー(E:\A)を開くことで、通常のファイル操作ができます。

なお、作成したジャンクションフォルダーは通常のファイル操作で削除できます。

ネットワークドライブでパスを短くする

フォルダー名を変更せずに対応するもうひとつの方法は、ネットワークドライブを作成して、パスを短くする方法です。

ネットワークドライブは、通常はリモートの共有フォルダーに接続するために利用しますが、次のようにパスを指定することで、ローカルドライブ内のフォルダーをネットワークドライブとして参照できます。

なお、この方法には管理者権限が必要になります。

\\127.0.0.1\<ドライブ名>$\<対象ファイルがあるフォルダーのフルパス>

たとえば「E:\acbdefg\hijklmn\opqrstu\vwxyz\abcdefg\hijklmn」というフォルダーをネットワークドライブ(Tドライブ)として設定する場合は、コマンドプロンプトを起動して以下のようにコマンドを実行します。

> net use T: \\127.0.0.1\E$\acbdefg\hijklmn\opqrstu\vwxyz\abcdefg\hijklmn

コマンド実行後「コマンドは正常に終了しました」と表示されれば、ネットワークドライブの作成完了です。

Windows 10で「パスが長すぎ」てエラーが発生したときの対処方法

あとは、エクスプローラーなどからネットワークドライブを開くことで、通常のファイル操作ができます。

なお、作成したネットワークドライブは、エクスプローラーやコマンドから簡単に切断できます。

パスの長さ制限を解除する

Windows 10では、Win32アプリケーションやストアアプリで扱えるパスの長さ制限を、レジストリ設定やグループポリシー設定で解除することができます。

なお、パスの長さ制限を解除すると、アプリケーションによっては、予期せぬ動作を引き起こす可能性があるので、制限の解除は一時的に行うのがよいでしょう。

レジストリで設定する

レジストリ設定でパスの長さ制限を解除するには、管理者権限でコマンドプロンプトを起動して以下のコマンドを実行します。

> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /t REG_DWORD /v LongPathsEnabled /d 1 /f

コマンドを実行後「この操作を正しく実行しました」と表示されていることを確認して、Windows 10を再起動すれば設定が反映されます。

Windows 10で「パスが長すぎ」てエラーが発生したときの対処方法

なお、設定を戻すには、管理者権限でコマンドプロンプトを起動して以下のコマンドを実行します。

> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /t REG_DWORD /v LongPathsEnabled /d 0 /f

グループポリシーで設定する

グループポリシー設定でパスの長さ制限を解除するには、グループポリシーエディタで「コンピューターの構成」>「管理用テンプレート」>「システム」>「ファイル システム」を開き「Win32の長いパスを有効にする」の設定を有効化します。

Windows 10で「パスが長すぎ」てエラーが発生したときの対処方法

設定したグループポリシーを適用するには、Windows 10を再起動します。

あとがき

ここで紹介している方法で、たいていの長いパスによるエラーに対処できるのではないでしょうか。

ご活用あれ。