--.--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2010.01.24

第363夜 其の3

パスが長すぎてコピーできない・・・。

OSの制限で(バージョンによって違うらしい)255を超えるとファイルにアクセスできなくなります。
例えばネットワークドライブを割り当ててネストが深いディレクトリで作業していると、ネットワークドライブを割り当ててるところはいいけど、フルパスでいくと255をオーバーしてしまうとか。

後はJUnitとかのレポートを出力するなどで、思いがけず超えてしまうケースもあります。

んで、何が困るかというと、長いパスはプロパティからサイズや数に現れないし、コピーしようとしてもできなかったり、コピー先で勝手にリネームされたり気づかずに滅茶苦茶してくれます。

例えば作業フォルダから納品フォルダを作成するとき、作業フォルダに長いパスがあると納品フォルダにきちんとコピーされたかの確認ができない。
比較ツールでも出ないし、フォルダのプロパティも出ない。やるとしたらひとつずつ目視で確認・・・冗談じゃありませんw

いろいろ調べましたが、robocopyというツールは長いパスもきちんとコピーしてくれるらしい。
オプションが凄い多いのであれですが、こんどよく調べてみようと思っています。

取り合えず今回は単純にA→Bにコピーという使い方をしました。
ただ注意するのはミラーリングモードでコピーする場合、A→BではなくB→Aにしてしまうとコピー元が一気に消えるので要注意!

/Lオプションでテストモードで実行できるので、まずはこれで試してからがよさそう。
この記事へのトラックバックURL
http://hexagram.blog41.fc2.com/tb.php/390-99f5e49a
この記事へのトラックバック
この記事へのコメント
ちなみにこれのGUI版といわれるrichcopyは長いパス駄目でした。
オプションがあるのかもしれないけど、ちょっと見当たりませんでした。

またrobocopyのGUI版もそれとは別にあるのですが、そっちは未確認。

あ、あとバージョンがあってrobocopyのGUIの中にはいっているrobocopy(分かりづらいな)が最新版で、古いバージョンのrobocopyだと長いパスに対応してないようですので要注意!
Posted by hexagram at 2010.01.24 18:53 | 編集
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。