大きなフォルダーの移動に時間がかかるのはなぜですか?


10

100kを超えるファイルを含む大きなフォルダーがあります。アーカイブフォルダに移動しましたが、移動に時間がかかりました。何故ですか?XPでは1秒未満で完了しますが、Windows 7ではそうではありません。許可することは確かですが、それを無効にして高速化する方法はありますか?

フォルダを同じドライブ/パーティション内の別のフォルダに移動しています。XPでは。私の知る限り、フォルダファイルをある場所から別の場所に移動するだけです。Windows 7では、移動したときにすべてのファイルの何かに触れているようです。

これを修正するにはどうすればよいですか?権限プロパティを削除しますか?


3
どうしてあなたがそれが許可のことだと確信するのか、私にはわかりません。変更された可能性のある他の変数(ネットワークラグ、USBドライブへのコピーなど)をもう一度見てください。移動する対象、ファイルの移動先、移動先について、他にどのような情報を知っておく必要がありますか。ファイル?
Chris Dwyer

SP1を待つ???
ローレンスドル

私もこれを試してみようと思っていますが、試してみるつもりでしたが、まだ時間がありませんでした。つまり、FAT32とNTFSのどちらが問題になるのでしょうか。ファイルシステムのインデックス作成を無効にします(検索インデックスの更新に時間がかかる場合)。
user12889

@ user12889:私が何をしたかわかりませんが、NTFSドライブのATMは瞬時に動きます。"リモート差分圧縮"(maximumpcguides.com/windows-vista/…)を無効にしたためか、Windowsの更新プログラムのいずれかで修正されたものかどうかはわかりません。

回答:


5

Windowsエクスプローラーを使用して移動(またはカットアンドペースト)すると発生します。

これを回避する唯一の方法は、エクスプローラー以外のものを使用してディレクトリを移動することです。たとえば、Windowsのcmd.exeから、move a b大きなディレクトリでも瞬時に移動します。Cygwinのmvコマンドについても同様です。


1
これはタイトルの質問にどのように答えますか?
soandos 2012

1
私の投稿に含まれる答えは、「エクスプローラーが使用されたため」です。元の質問「大きなフォルダーの移動に時間がかかるのはなぜですか?」移動が行われた方法に関する情報が不足しています。そのため、「エクスプローラ使うと起こる」と答えたら。私は適格ではないかもしれません。Explorerが私のシステムの原因であることを知っています。これをあなたと共有します。驚くかもしれませんが、投稿する前は、エクスプローラーを犯人として明示的に指名した人はいません。はい、エクスプローラがとても遅い理由を知りたいのですが。既知の修正がない限り、「これを修正するにはどうすればよいですか?」と答え、搭載された手段を使用して回避策を提供します。
Rainer Blome 2012

3

フォルダーが瞬時に移動しているように見える場合、それはオペレーティングシステムが実際のファイルデータを移動せずにファイルアロケーションテーブルを更新できたためです。

小さいファイルを使用してこれを行うと、テーブルごとに変更を行う必要があるため、処理が遅くなります。ファイルが本当に小さい場合、実際にデータを移動するのに同じくらいの時間がかかることさえあります。

ファイルデータが移動先と同じパーティションにある場合、どのような状況でファイルデータを移動する必要があるのか​​は正確にはわかりませんが、それを回避する方法はないと思います。他のコメンテーターと回答が示唆しているように、別のドライブ(別のディスク、別のパーティション、USBスティック、ネットワーク経由のドライブなど)にコピーすると、もちろん、完全なデータをコピーする必要があるため、遅くなる。コピー先の帯域幅の影響はさらに大きくなります。

(*ファイルデータを図書館の本として考え、ファイルアロケーションテーブルを、本がどのセクションにあるかを示すインデックスカードのセットとして考える)


以前にFAT32フォーマットを見たことがあります。新しい親フォルダーに新しいアクセス許可がある可能性があるため、folderidを移動する代わりに、すべてのファイルに対する更新アクセス許可を考えます。私はここで権限を必要としないので、それをオフにして速く動くことができれば私はそれをするでしょう。

1

Windowsエクスプローラーがフォルダーを移動(またはコピー)しようとするたびに、追加の検証手順が実行されるようです。数秒かかる場合は、「アイテムを検出しています」というステータスメッセージが表示されます。これは、フォルダー内のすべてのファイルのインベントリを取得しているようです。エクスプローラでそのフォルダを実際に開くのと同じ方法で。

この手順必要な場合もありますが、ほとんどの「このフォルダをここからそこに移動する」操作では必要ありません。さらに推測するために-この検証を行うことでいくつかのケースでいくつかのバグをより良い方法で解決したことはもっともらしいようで、Microsoftはフォルダーに「数百を超える」ファイルが存在するという奇妙なケースでパフォーマンスを改善することが重要だとは決して考えていませんでした。このような問題には次のようなものがあります。宛先フォルダが別のメディア/パーティションにある場合; 新しいファイルのパスがNTFSに対して長すぎるかどうかを確認するために使用します。IMO、これらのすべてまたはすべてを事前にチェックして、この追加のインデックス作成操作を行わないようにすることもできますが、エッジケースのパフォーマンスはしばしば無視されることを知っています。


0

私は古くからXPを使用していませんが、少なくともWindows 7では、大量の小さなファイルを移動する方が、少量の大きなファイルを移動するよりもはるかに遅いことに注意してください。

また、同じドライブ間でファイルを移動する方が、別のドライブ間でファイルを移動するよりもはるかに高速で、瞬間的な場合もあります。


質問を編集します。

0

これは、なぜそれが起こるのかについて必ずしも答えるとは限りません。

http://www.codesector.com/teracopy.php

私は最近TeraCopyを使用していますが、コピー速度が少し速いようです。


少し速いか、XPのように瞬時に移動しますか?

少し速い(もしあれば)。それはまだほとんど瞬時にそれをしません。
user12889


0

コマンドプロンプトコマンドを使用してみてください

copy source destination.

私はこれとすぐにコピーした20kファイルを使用しました。


参考までに-スーパーユーザーは答えのためのもので、他には何もありません。私はそれを反映するようにあなたの答えを編集しました。しかし、良い答えです!
2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.