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

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

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

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

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

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

Windows10で「ファイル名が長すぎ」てエラーが発生したときの対処方法
現在のWindowsOSでは、Windows95やその前身であるMS-DOSとの互換性のために、通常のフォルダー名やファイル名に加えて「...

動作環境

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

ソフトウェアバージョン
Windows10 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のジャンクションが作成されました」と表示されていれば、作成完了です。

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

あとは、エクスプローラーなどからジャンクションフォルダー(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

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

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

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

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

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

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

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

レジストリで設定する

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

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

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

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

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

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

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

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

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

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

あとがき

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

ご活用あれ。

記事が役立ったらシェアしてくれるとうれしいです。

あなたにおすすめのコンテンツ