DOBON.NET DOBON.NETプログラミング掲示板過去ログ

異なるマシン間のフォルダ移動

環境/言語:[Windows2000Pro,C#, .NET Framework1.1]
分類:[.NET]

始めまして。hallucigeniaと申します。

コンソールアプリケーションでフォルダの移動をしようとしましたが,
「ソースとターゲット パスは同一のルートを持たなければなりません。[移動]操作はボリューム間で行えません。」
というエラーがでます。

Directory.Moveで移動させようとしています。
じゃんぬ です。

■No11673に返信(hallucigeniaさんの記事)
> Directory.Moveで移動させようとしています。

System.IO.Directory クラスの Move メソッドではボリューム間の移動はできません。
■No11678に返信(じゃんぬねっとさんの記事)
> じゃんぬ です。
> > ■No11673に返信(hallucigeniaさんの記事)
>>Directory.Moveで移動させようとしています。
> > System.IO.Directory クラスの Move メソッドではボリューム間の移動はできません。

お返事ありがとうございます。

フォルダ作成 → ファイル移動

という処理をやってみたんですが,余りにも遅すぎて困っています。
こんにちは、じゃんぬ です。

■No11680に返信(hallucigeniaさんの記事)
> お返事ありがとうございます。
> フォルダ作成 → ファイル移動
> という処理をやってみたんですが,余りにも遅すぎて困っています。

「余りにも遅い」と仰いましたが、それは何かに比べて初めて言える言葉です。
何に比べて、「余りにも遅い」のか、教えて頂けませんか?

また、ファイルの移動は再帰呼び出しをしていくしかないと思いますが、
そのロジックなど、何もかもが判らない状態では答えることができません。

> > 「余りにも遅い」と仰いましたが、それは何かに比べて初めて言える言葉です。
> 何に比べて、「余りにも遅い」のか、教えて頂けませんか?

同じドライブでのフォルダ移動に比べてです。

> > また、ファイルの移動は再帰呼び出しをしていくしかないと思いますが、
> そのロジックなど、何もかもが判らない状態では答えることができません。

その辺は今回気にしなくてもいいです。
File.Moveでファイルを移動するときに
ワイルドカードも使用できなくなったみたいですね。
なんで低機能にするんだろう・・・・・・
■No11684に返信(hallucigeniaさんの記事)
> 同じドライブでのフォルダ移動に比べてです。

同じボリュームでの「移動」は新しくディスクに書き込まれているわけではないです。
別の論理パーティションへの移動またはコピーはすべて新しく書き込むことになります。
つまり、プログラム云々のレベルでもなく、至極当たり前のことです。

# エクスプローラ上で触っていれば、気付くかと思いますが。

> その辺は今回気にしなくてもいいです。

では、これ以上の進展はないと思います。
ロジックに問題ないとなると、これは仕様みたいなものですから。

> 別の論理パーティションへの移動またはコピーはすべて新しく書き込むことになります。
> つまり、プログラム云々のレベルでもなく、至極当たり前のことです。
> > # エクスプローラ上で触っていれば、気付くかと思いますが。

やっぱりそうなんですね。

> >>その辺は今回気にしなくてもいいです。
> > では、これ以上の進展はないと思います。
> ロジックに問題ないとなると、これは仕様みたいなものですから。

今まで返答ありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板