Windows環境でファイルを操作するときなどに「パスが長すぎる」ために、ファイル名を変更できなかったり、ごみ箱に移動できないといったエラーが発生することがあります。
これは、Windowsやアプリケーションで扱えるパス(フォルダー名+ファイル名)の長さに制限があるためで、Windowsでは一般的には255文字~260文字が上限となっています。
このようなときは、長さの上限に収まるようフォルダー名を変更するのが簡単ですが、フォルダー名変更できない場合や、フォルダーの階層が深い場合は厄介です。
そこでここでは「パスが長すぎる」てエラーが発生したときに、フォルダー名を変更せずにパスを短くする方法や、パスの長さ制限を解除する方法を紹介します。

目次
動作環境
この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア | バージョン |
---|---|
Windows 10 Pro 64bit | 21H1 |
ジャンクションでパスを短くする
フォルダー名を変更せずに対応する方法のひとつは、「mklink」コマンドで「ジャンクション」を作成しパスを短くする方法です。
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のジャンクションが作成されました」と表示されていれば、作成完了です。
あとは、エクスプローラーなどからジャンクションフォルダー(E:\A)を開くことで、通常のファイル操作ができます。
なお、作成したジャンクションフォルダーは通常のファイル操作で削除できます。
ネットワークドライブでパスを短くする
フォルダー名を変更せずに対応するもうひとつの方法は、ネットワークドライブを作成して、パスを短くする方法です。
ネットワークドライブは、通常はリモートの共有フォルダーに接続するために利用しますが、次のようにパスを指定することで、ローカルドライブ内のフォルダーをネットワークドライブとして参照できます。
なお、この方法には管理者権限が必要になります。
たとえば「E:\acbdefg\hijklmn\opqrstu\vwxyz\abcdefg\hijklmn」というフォルダーをネットワークドライブ(Tドライブ)として設定する場合は、コマンドプロンプトを起動して以下のようにコマンドを実行します。
> net use T: \\127.0.0.1\E$\acbdefg\hijklmn\opqrstu\vwxyz\abcdefg\hijklmn
コマンド実行後「コマンドは正常に終了しました」と表示されれば、ネットワークドライブの作成完了です。
あとは、エクスプローラーなどからネットワークドライブを開くことで、通常のファイル操作ができます。
なお、作成したネットワークドライブは、エクスプローラーやコマンドから簡単に切断できます。
パスの長さ制限を解除する
Windows 10では、Win32アプリケーションやストアアプリで扱えるパスの長さ制限を、レジストリ設定やグループポリシー設定で解除することができます。
なお、パスの長さ制限を解除すると、アプリケーションによっては、予期せぬ動作を引き起こす可能性があるので、制限の解除は一時的に行うのがよいでしょう。
レジストリで設定する
レジストリ設定でパスの長さ制限を解除するには、管理者権限でコマンドプロンプトを起動して以下のコマンドを実行します。
> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /t REG_DWORD /v LongPathsEnabled /d 1 /f
コマンドを実行後「この操作を正しく実行しました」と表示されていることを確認して、Windows 10を再起動すれば設定が反映されます。
なお、設定を戻すには、管理者権限でコマンドプロンプトを起動して以下のコマンドを実行します。
> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /t REG_DWORD /v LongPathsEnabled /d 0 /f
グループポリシーで設定する
グループポリシー設定でパスの長さ制限を解除するには、グループポリシーエディタで「コンピューターの構成」>「管理用テンプレート」>「システム」>「ファイル システム」を開き「Win32の長いパスを有効にする」の設定を有効化します。
設定したグループポリシーを適用するには、Windows 10を再起動します。
あとがき
ここで紹介している方法で、たいていの長いパスによるエラーに対処できるのではないでしょうか。
ご活用あれ。