• ベストアンサー

ファイル名が長すぎる場合のコピーや移動は?

200ギガを越えるHDDのバックアップをしていました。 最新のWindows 8 なので油断してしまい、表題の件に関わる警告のウィンドウが出たときにスキップの操作をしてしまいました。つまり、古いHDDの中に取り出せないファイルが残ってしまったのです。 何文字以上がコピペなどの規制にかかるのでしょうか? コピーできなかったファイルを探し出す方法を教えてください。 ファイル数は88万以上あり、手動ではできそうにもありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • kita_s
  • ベストアンサー率45% (630/1383)
回答No.2

パス(C:\a.jpgなら8文字)を含めて半角で256文字、全角は1文字で半角2文字分で数えます。 ただ、制限文字数は他の要素(コピー時の内部処理的なコマンド追加)で早まったりするので、240文字程度までに抑えておくのが良いでしょう。 ファイル名が少々長い(40文字とか)程度でも、深い階層に置いていたり、途中にあるフォルダの名前も長かったり、ファイルやフォルダ名が全角だったりすると、意外と簡単に制限に引っかかります。 良くあるのが、最初は浅い階層に置いているファイルを、整理の為に階層の一番下に置くことを繰り返していると簡単に10階層以上下になって文字数オーバーとかです。 bunbackupで差分コピーを使うと、エラーが発生してコピーできなかったファイルがわかります。すでにほとんどのBackupが終わっているならば新旧HDDの比較だけなので、そう時間はかからないと思いますよ。

ify620
質問者

お礼

ありがとうございます。  >整理の為に階層の一番下に置くことを繰り返していると簡単に10階層以上下になって文字数オーバーとかです。… 大変ありがたいヒントになりました。 一番長いファイル名でも下記ののように20文字前後以下に抑えていたつもりだったのです。 《 2014-02-09 お正月の新年会 》

ify620
質問者

補足

bunbackup    Windows 7 で一度試用しました。 何か、不具合があって、そうM社製のデスクトップにUSB3規格のボードをつけて、バックアップしたときに完全にスタックしてしまったのです。 その後、しばらくして、昨年末に起動が非常に不安定になったので、思い切って、日本の大手家電メーカーのデスクトップを追加購入したのです。M社製の倍近い値段でしたが、家電メーカー製はXPやミレニアム搭載製品でも、メモリを追加すれば十数年も現役という長寿を経験で知っているからです。FDDだけはだめですが。 bunbackup 試して見ます。

その他の回答 (6)

  • m_and_dmp
  • ベストアンサー率54% (989/1820)
回答No.7

NO.4 です。 FastCopy は、Windows Explorer より速いのが売りなのですが、遅いということはどこかに問題があるか、サイズの小さいファイルが多量にあるかだと思います。 コピーできないファイルなどがあって、エラーになっても継続するように設定しておけばノーアテンドでもそのうちに終わるでしょう。 中止・再実行しても、「差分」になっているなら、すでに新HDDにあるファイルはコピーされませんので時間はかかりません。いつでも中止してかまいません。 「コピーできなかったファイルを探し出す方法を教えてください。」について答えていませんでしたが、実行ではなく、リストアップすれば分かりますが数が多いと見るだけで疲れてしまいます。

ify620
質問者

お礼

重ねてのご回答、ありがとうございます。 >リストアップすれば分かりますが数が多いと見るだけで疲れてしまいます。 そうなんです。一部だけでも、2200なんて出てしまうので…。 写真も文書もメールも、当初は一括でも検索が簡単だったのですが、デジカメの高性能化と、録音資料。パソコンの高性能化にマルチ画面を覚えたので、毎回推敲して試用したので、気がついたらゴミの山になってしまいました。 XP で 【送る】が階層的に設定できたので、安易にフォルダを増やしたのですが、Vista になってそれができなくなって、以後、短命の安価な通販パソコンを数台変えるうちに、完全な泥沼です。 思い切って、旧来の家電系メーカーのパソコンを2台購入して整理を始めたのですが、そこで、自分のアキレス腱が【送る】に頼っていたことと気がつき、本当に困っています。保存の階層が7~8段以上に、異常に増殖させていたのです。つまり、フォルダごとに、目次のようにコピーして、そのフォルダ数を爆発させてしまっていたのです。 サーバーを置いたり、専門の保存方法を研究せずに我流したので、様々な「ウッカリ」が重なってしまったのです。 先々週、壊れたパソコンを携えて訪れた古い友人に請われて、最後に残っていた最強のXPパソコンを何気なく初期化して気前よく譲ってしまい数時間後に気がついたのです。  『増設HDDの保存管理機』が消えた!←「何とかなるさ。=ならなくなったのです!」 XP 以外に、【送る】に階層設定できるバージョンは無いことに気がついたのです。つまり、いじってから気がついたので泥沼なのです。 ロータスやキャノワードなど、当時は最強のソフトの資料もあるので、困っています。 金額に換算したら、数十万円にも満たないのですが、惚けるまでは必要な資料なので、分類後にそれなりに整理したいと思います。

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.6

本題ではありませんが、 長さ制限は正確には256文字ではありません。実はもう数文字長いです。ただし物によって変わります。HDD側のファイルシステムにも依存しますし、それを読むソフトにも依存します。 また、制限はバイト数ではなく文字数です。Windows2000より前は分かりませんが、2000からはファイル名はUnicodeで保存しているので半角全角の区別はありません。 (その代わり1文字の概念が複雑になっています。正確には「コードポイント」で数えますが、日本で普通に使う範囲では文字と思って良いです)

ify620
質問者

お礼

詳しい解説をいただき、ありがとうございます。 ファージーでも良いのですが、コピペで移動できない理由が、文字の長さと、表示されるので、困っています。

  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.5

No.3の補足です。 質問とは直接関係ないのですが、 勘違いは正しておく必要がありますので、書きました。 > ドスコマンドのようですね? No.1で明記しているようにWin8のビルトインコマンドです。 > 下記ののように20文字前後以下 文字数ではなくて、長さ(length)として指摘しているのは「バイト」数です。 日本語や全角記号は2バイトです。 したがって 《 2014-02-09 お正月の新年会 》 は31バイトあります。(英数字のスペースも1バイトとカウントします)

ify620
質問者

お礼

ありがとうございます。 ビルトインコマンド?? ちょっとハードルが高くてりかいできません。

  • m_and_dmp
  • ベストアンサー率54% (989/1820)
回答No.4

FastCopy ↓を使用します。 http://www.vector.co.jp/soft/dl/win95/util/se360695.html FastCopy で、旧HDDのフォルダを新HDDにドラッグして「コピー(FastCopy)] を選択します。 開いた小窓でキャンセルボタンを押して一旦キャンセルします。 FastCopy のウインドウが残っていますので、「差分(サイズ・日付)」と表示されていることを確認します。 次に「実行」ボタンを押せば新HDDにコピーされなかったファイルがコピーされます。 「リストアップ」ボタンを押せば、どのファイルがコピーされるかリスト表示されます。(実行はしません。) FastCopy はパスの長いファイルのコピーも可能です。

ify620
質問者

お礼

ありがとうございます。 FastCopy試用しています。 100ギガ超えたあたりで気がついたのですが、ヒトファイルのコピーに0.5秒から1秒くらい費やすようになって、ほぼスタック状態です。すでに7時間が経過していますが、130ギガくらいで、ピタピタと数字がゆっくり回転しています。230ギガの移動は徹夜かもしれません。 パスの長さは、表示をちょっと数えてみると、邦文換算70文字超でかなり長いパスもOKのようです。 i7 で 8GBのメモリでc:\はSSDドライブなので、Windows付属のコピペ(2時間超くらいだったかも?)よりかなり、遅くなってしまっています。 外付けHDDは前回同様同じUSBポートにつないでいます。規格は2または3です。(二種の規格が装備されているのですが、全面か後面か確認していません。)

  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.3

No.1の一部訂正です。大変失礼いたしました。 > オプション /256 を設定して256バイト以上のpathを設定できます。 正しくは、 オプション /256 を指定しなければ256バイト以上のpathを処理します。 --- robocopy ヘルプの オプション /256 の説明を下記にそのまま貼り付けます。 /256 :: 256 文字を超える非常に長いパスのサポートをオフにします。

ify620
質問者

お礼

ありがとうございます。  >robocopy … ドスコマンドのようですね? ちょっと私にはハードルが高そうです。

  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.1

> 何文字以上がコピペなどの規制にかかるのでしょうか? 単にファイル名の長さ(length)ではなくてpathの長さが問題です。 解りやすい数値としては256バイトと思ってください。 たとえばW8ビルトインコマンドの robocopy の場合は、オプション /256 を設定して256バイト以上のpathを設定できます。 robocopyヘルプを見てください。 --- 今回の場合は、どのようなツールでバックアップしていたのか、書いてないので、判然としませんので何ともいえません。 たとえばrobocopyなら88万件程度の処理は何ら問題ありません。 --- pathやファイル名の長さ(length)は powershell を使用して下記のようにすればいいでしょう。 88万件でも短時間で処理できます。 (1) バックアップした際と同じディレクトリ名でget-childitemコマンドレットにてrecursive にpath(またはファイル名)のlengthを取得する。 (2) length が256(または任意の値)より大きいデータを出力する。 以上でselect対象になったデータは少ないはずですので目視でも確認できるはずです。

ify620
質問者

お礼

ありがとうございます。  マウスのカーソルと [Ctrl]+[c] [Ctrl]+[V] でコピペをしました。

関連するQ&A

専門家に質問してみよう