Windows SBS 2008サーバーでシャドウコピーが有効になっています。シャドウコピーからファイルを復元しようとすると、次のエラーが発生しました-
ソースファイル名がファイルシステムでサポートされているよりも大きいです。この操作を行う前に、パス名が短い場所に移動するか、名前を短くしてください。
ファイル名は67文字で、シャドウコピーのパスは170文字です。これらはNTFSの制限(260?)の範囲内にあるようです。
試しました
コピーを行う前に、シャドウコピー内のファイルの名前を変更することはできますか?ファイル名のサイズが制限内にあるように見えるにもかかわらず、エラーが表示される理由はありますか?
実施したステップ
編集-(Un)残念ながら、今はこのエラーを再現できません。問題を引き起こしている特定のファイルは削除されており、他の同様のファイルでエラーを再現することができません。
Server 2008 R2でもまったく同じ問題が発生しましたが、次の方法で解決しました。
\\localhost\D$\@GMT-2011.09.20-06.00.04\_Data
Cmd.exeを開き、次のように入力します。
subst X: \\localhost\D$\@GMT-2011.09.20-06.00.04\_Data
PowerShellを開き、robocopyを使用してXのコンテンツをコピーします。例:
robocopy Z: D:\Folder\ /E /COPYALL
subst X: /D in cmd
復元しようとしているフォルダを共有してみましたか?そうすれば、\ server\share\path ....\filename?の代わりに\ server\share\filenameを開くことができます。
それがうまくいかない場合は、 コマンドラインからボリューム にアクセスしてみてください。アクセスには\\?\
メソッドを使用できます 2,767文字の制限 =。
プロパティ情報ウィンドウの一般タブの「場所」エントリからシャドウコピーファイルの名前/パスを取得してから、「subst」コマンドを使用して長いパスを1文字に減らすことができますか?
subst Z:「H:\ 1\2\3\4\5\6\7 \非常に長い愚かなディレクトリ名を作成したい\ 8\9」
dir Z:dirと同じ "H:\ 1\2\3\4\5\6\7\I非常に長い愚かなディレクトリ名を作成したい\ 8\9"