こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

作成したプログラムや試験の証跡を納品のためにDVDに焼こうとしたところ

作成したプログラムや試験の証跡を納品のためにDVDに焼こうとしたところ、
パスが長すぎてアクセスできないファイルがありました。

本当であれば納品フォルダ名を短くして対応するところなのですが、
今回2回目の納品で、前回の納品フォルダを変更するわけにはいきません(仮にアクセスできないファイルがあっても)。

当初、前回の納品フォルダをコピーして新しい納品フォルダを作成して、修正した差分の
ファイルを上書きして済ませようとしました。

ところがコピーしてみると、勝手にファイルがリネームされたり、
その結果JUnitのレポートのリンクが切れているし困った状態になりました。

パスの長さを調べてみると、最長がいくつかわからないのですが、
ファイル名あわせて400文字のものもありました。

255(260?)文字を超えるとアクセスできなくなるようですが確かに超えています。


肝心の質問なのですが、アクセスできないほどの長いファイル名はファイル自体
にアクセスできないが上位フォルダをコピーすれば必ずコピーされるものでしょうか?

つまり懸念しているのが元の納品フォルダを別のフォルダにコピーした際、
勝手にリネームされてしまうのは面倒ですが後で修正すればいいとして、
もしコピーされないファイルがあると困るのでご存知の方がいらっしゃいましたら、
教えて頂けないでしょうか?

いつもであれば、コピー元と先のファイル数などを比較するのですが、
パスが長いファイルはプロパティでのカウント対象外のようで、
正しくコピーされているか比較できませんでした。

おまけにコピー元がアクセスできないファイルでも、
コピー先でアクセスできるようにリネームされているのが厄介です。
どっちもアクセスできないなら比較できるのですが・・・。
またwinmargeなどの比較ツールでも同様でした。

フォルダやファイル数が少なければ目視での確認を行うのですが、
少なくても3万ファイルぐらい存在するので現実的ではありません。

ファイルの保存場所がNASで途中のフォルダを共有にできないので、
パスを短くすることもできません。
フォルダの途中をコピーしてC:\の直下におけば普通にコピーできますが、
3万以上のファイルなので、コピー漏れの可能性が高いのと作業がかなり
大変です。

一番よいのが元の納品フォルダ名を修正することですが、
ちょっと難しいので次点としてコピーされることが保障されれば
リネームされたファイルを修正してアクセスできるようにフォルダ名
を変更すれば済むので助かります。

よろしくお願い致します。

投稿日時 - 2010-01-09 00:44:02

QNo.5578666

すぐに回答ほしいです

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

Windows Vista 以降が可能なのか知りませんが、
少なくともXPではできてたことですが。

適当な深さのフォルダを空きドライブのドライブ文字に割り当てる事ができ、
これにより深いパスをドライブ文字1文字で置き換える事ができます。

この設定はPCの電源ONの間だけ有効で、リブートすれば
(というかシャットダウンすれば)忘れます。

DOSプロンプトの SUBST コマンドを使います。例えば

subst z: c:\deepfolder

を実行すると、以降は
z:
と指定すると実際は
c:\deepfolder
以下をアクセスします。
subst
だけの入力で、現在の設定を表示します。
積極的に解除した時は
subst z: /d
で元通りです。

2箇所のフォルダとそれ以下のファイルが同一かを確認するツールは
いくつかあるかと思いますが、
私は Aikowin というフリーソフトを使っています。
同相対パスの同名ファイルだけを対象に指定できるので、フォルダ以下を複製できたかを
確認できます。

http://www.vector.co.jp/soft/win95/util/se057348.html

投稿日時 - 2010-01-09 02:57:48

お礼

お返事が遅れて大変申し訳ありませんでした。
ありがとうございました。助かりました。

投稿日時 - 2010-01-19 19:58:31

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ZIPやLZHで圧縮して納品すれば。

投稿日時 - 2010-01-09 00:45:42

あなたにオススメの質問