Windows11のエクスプローラでフォルダのコピーをしていたのですが、下記エラーが表示されてコピーできないファイルがありました。
「対象のパスが長すぎます。ファイル名の長さは、対象のフォルダーに対して長すぎる可能性があります。短いファイル名に変更して再実行するか、またはより短いパス名がある場所に移動してください。」
コピーしたいフォルダには.gitフォルダやAndroidやReactのプロジェクトフォルダが大量に含まれていて、たしかにフォルダ階層が深くなっています。
以前にも似たようなエラーになり、下記のレジストリキーには1を設定済みなのですが、今回はエラーになってしまいました。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
ググると、xcopyなら大丈夫という記事を見つけたのですが、それならばと、今回はRobocopyを使ってコピーしたところ正常にコピーできました。
robocopy <source> <destination> [<file>[ …]] [<options>]
パラメーター | 説明 |
---|---|
<source> | コピー元ディレクトリのパスを指定します。 |
<destination> | コピー先ディレクトリのパスを指定します。 |
<file> | ファイルをコピーするファイルを指定します。 ワイルドカード文字 (* または ?) がサポートされています。 このパラメーターを指定しない場合は、既定値として *.* が使用されます。 |
<options> | robocopy コマンドで使用するオプションを指定します。コピー、ファイル、再試行、ログ、ジョブの各オプションがあります。 |
オプションに/Eを付ければ、空のディレクトリもコピーされました。
その他は下記参照

Robocopy
ある場所から別の場所にファイル データをコピーする robocopy コマンドに関する参照記事。
コメント