Windowsでファイルパスが長すぎるファイルをコピーする方法は?


51

ネットワーク共有上のいくつかのファイルのバックアップを作成する必要があります。ただし、これらのファイルは使用中の可能性があるため、ディスクを書き込む前にこれらのファイルをローカルドライブにコピーする必要があります。ファイルパスが長すぎるため、一部のファイルはコピーされません。ファイル構造を変更する以外の回避策はありますか?


回答:


27

Windows Vista / 7の最大パス長は260です。次の3つのソリューションをお勧めできます。

  • (パスが長すぎる場合)最初にフォルダーをWindowsエクスプローラーの上位レベルにコピーしてから、ローカルコンピューターに移動します。
  • (ファイル名が長すぎる場合)最初に、アーカイブアプリケーションでそれらをzip / rar / 7zで圧縮してから、アーカイブファイルをローカルコンピューターにコピーしてから、コンテンツを抽出します。
  • サードパーティのアプリを使用します。

これらの提案はすべて、ネットワーク共有フォルダー/コンピューターに何らかの書き込みアクセス権があることを前提としています。これらのいずれも実行できない場合は、管理者の支援が必要になる場合があります。


8
ファイルの圧縮はうまくいきました!
ブライアンスターム

@BrianSturm、まあ、それらはサードパーティのアプリだと仮定して
-Pacerier

私はWindowsについてこれを本当に嫌っていますが... zipソリューションは本当に私の時間を節約しました。ありがとう!
バススラグター

66
robocopy /E source destination

堅牢なファイルとフォルダーのコピー

Windows 7以降:
Robocopy XP027は、Windows 7以降の標準コマンドです。

NT 4 / Windows 2000:
Windows Server 2003リソースキットツールには
、NT 4 / Windows 2000で実行できるRobocopy XP010が含まれています。

Windows 95またはNT 3.5:
RobocopyはWindows 95またはNT 3.5では実行されません。(RobocopyはUnicodeアプリケーションです)。

Windows 95、またはNT 3.5の回避策:
Microsoft Robocopy GUIはRobocopy XP026をC:\ Windows \ system32にインストールします。
このバージョンは古いOSで実行でき
、XP027(/ BYTES)の一部の機能が含まれていますが、エラーレベルの処理が完全に壊れています。

Robocopyの「ジョブ」および「ソースの監視」オプションは、Robocopyコマンドでバッチファイルを実行するようにスケジュールされたタスクを設定する代わりに使用できます。


6
これが解決策です。長さが256を超えるパスのサポートをオフにする場合は、/256フラグを渡します。どうもありがとう!私はこれに一日中苦労しました。
自動

1
すごい!解決策これまでこのブルトインソリューションを知らない。
SIslam

2
グレートソリューション-さらにノートのカップル:(1)移動先のフォルダにコピー場合はフォルダ名を含める必要があります- Cをコピーする場合などに:\ WindowsのDへ:\ Windowsはコマンドは次のようになりますrobocopy /E C:\Windows D:\Windows(つまり、いないのrobocopy / EC:\ WindowsのD:\ )。(2)/MOVEオプションを使用して、ファイルをコピーする代わりに移動できます。
スティーブチェンバース

Windowsでは、これはNAS使用の信頼できるソリューションです。何百万ものファイルのコピーを開始できます。転送が途中で中断されると、転送済みのすべてのファイルを再コピーするのではなく、中断したところから再開します。断続的にドロップするWifi接続があり、完了を保証して多数のファイルを移動できるようにしたい場合、これは非常に貴重です。
user19496

これは、Windows上で無効な名前を持つファイルに対しては機能しません。これに役立つフラグはありますか?
リチャード

16

接頭辞を付けることで、最大32k文字までのパスにアクセスできます\\?\

\\?\C:\Some\Really\Long\Path

これは、コマンドプロンプトと、.Netアプリを含むWin32 Unicode Apiメソッドを使用する他のプログラムから機能します。長いパス(NTFSなど)をサポートするファイルシステムが必要ですが、長いパスの問題がある場合はそれが当たり前です。

特定のアプリケーションと多くのネイティブツール(Explorerなど)にはこれらのパスに問題があるため、これを使用して、1つではなく1つの穴から抜け出すことに注意してください。


2
これは本当に素晴らしいヒントです。また、com1、com2などのファイル名の処理も回避しています。
アンドレアスレイフ

2

FastCopyは、白津宏明によって作成されたオープンソースのCプロジェクトであり、「Windowsで最も高速なコピー/削除ソフトウェア」です。UNICODEおよびMAX_PATH(260文字)以上のファイルパス名をサポートします。

修正するには長すぎるパスが何百もある場合は、「パスツールロング自動フィクサー」ツールを使用します


2
FastCopyは非常に優れています。特に、RoboCopyとは異なり、ディレクトリジャンクション/ソフトリンクで便利なことを行います。
-rlpowell

優れた。あるいは、通常は拡張パスに準拠している同様の高速コピープログラムリストするSOの回答があります
ingyhere

-3

この状況で使用した最も簡単な修正は、長すぎる名前のフォルダーの名前を「1」などに変更することでした。

また、一般的な習慣として、私はすべてのユーザーにライフストーリーをファイル名やフォルダー名に入れないように説明します。

適切なファイルマネージャーは、260文字を超えるファイル名を処理できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.