• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CopyProgressRoutineについて)

CopyProgressRoutineについて

このQ&Aのポイント
  • VB6でフォルダ単位でファイルをコピーするツールを作成しています。
  • CopyProgressRoutine関数を使用して進捗状況を表示しています。
  • Total~とStream~の意味についての説明と、CopyFileExの使用例について困っています。

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

  • ベストアンサー
回答No.1

CopyFileEx はファイル単体のコピーしかできないんじゃないでしょうか。 >Total~が全体のファイルサイズを示し >Stream~が各ファイルサイズを示す。 は合っていると思いますが、CopyFileEx では Total~ = Stream~ になると思います。 CopyProgressRoutine がこのような仕様になっているのは、MoveFileWithProgress で使用するときのためじゃないかと思います。( MoveFileWithProgress ではフォルダごと移動が可能 ) 複数ファイルをまとめてコピーするのでしたら、SHFileOperation の FO_COPY が良いかも、です。 ( ワイルドカードも使用できますし、エクスプローラでコピーしたときに出る進捗状況ダイアログと同じ進捗状況ダイアログが表示されると思います。) http://msdn.microsoft.com/en-us/library/bb762164(v=vs.85).aspx

t-aka
質問者

お礼

ありがとうございます。 なるほど、言われてみればその通りですね。 SHFileOperationを確認してみましたが、目的を達成できないような感じがするので 今回は見送ろうかな、と考えています。 と、いうのもネットワークを介した2拠点間のフォルダの同期のために 使用するので、回線切断などによるコピーの中断→再試行を考慮しなければならないためです。 納得できる回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイル単純コピーの進行状況を取得する方法

    毎度(?)お世話になっております。m(_ _)m VB.NET の System.IO.File.Copy(FromFile , ToFile) 関数において、そのコピーの進行状況を取得する方法を調べております。 ローカルコンピュータ内ならばそれほど問題にはならないのですが、 LAN環境の他のマシンとのやり取りをする際に、回線状況が悪くなって 切断されたり、おもーくなったりしている状況を感知したいと考えております。 現在の案としては、  ・Copy開始前にファイルサイズを取得し、コピーされ始めたファイルのサイズを   完了するまで監視して、サイズにしばらく変化が無ければなんらかの障害が発生 というのを考えましたが、なんとなく上手くいっていないような気がします。 もしこの他に、皆さんで他に良い案がありましたらご教授お願いします。

  • 差分ファイルのみコピーするには?

    Windows2000 VB6 で開発中です。 度々すみません。 ファイルコピーをする時に、"日付かサイズが違っていたらコピーする。" という条件をつけているのですが、対象ファイルの量が多い為、非常に時間がかかってしまいます。 VB標準の関数で、オプションをつければ、勝手に差分だけコピーしてくれるような物はないでしょうか? また、こうしたらもっと早くなるという方法がありましたら、ぜひご教授願います。

  • Fileクラスが使えない・・・

    VB.NETを使ってプログラミングしているものです。 たんにファイルをコピーしたくてFile.Copy("***.xls","***.xls")としたのですが、System.IOが宣言されていないために使えません。どうすればよいでしょうか?お願いします!

  • ディレクトリのコピー

    お世話になっています。 フォルダを複数含む構成のプログラム(600KBほど)があるのですが、これをサーバー上にアップしたいと考えています。 具体的にやりたいこととは、1つのサーバーに百近いディレクトリがあるのですが、その全てのディレクトリの決めた階層にフォルダで構成されたプログラムを置きたいと考えています。 そこで質問なのですが、ファイルだけであったら、copy関数を利用できるかと思うのですが、フォルダを含んでいる場合、copy関数のようなコピーできる関数はあるのでしょうか? 今回、質問するにあたり当初はファイルのコピーのように(copy関数)、サーバーに設置したいプログラムと、コピー&各ディレクトリに設置するスクリプトを設置して動かそうと思っていたのですが、ディレクトリをコピー出来ないことを知り、立ち止まってしまいました。 他のやり方でも何でも構いません。アドバイスいただけたら幸いです。 お忙しい中恐縮ですが、宜しくお願いいたします。

    • 締切済み
    • PHP
  • デイレクトリ コピー

    ディレクトリ内のファイルも含めてコピーを作成したいと思います。 ディレクトリをコピーする関数はありますか? $copy0 = './hoge/コピー元'; $copy1 = './hoge/コピー先'; このような事をする時に、権限やパーミッションの設定も必要で あれば教えてほしいのですが・・・。

    • ベストアンサー
    • PHP
  • 大容量ファイルを作るツール

    大容量のファイルコピーのテストをしたいのですが、1ファイルで100MBとか、1GBとか、容量を指定するだけでテストデータが作成できるツールは存在しませんか。これがなければCOPYコマンドで地味に作ることくらいしか知恵がないのです。でも、種類がたくさんあってツールがあると早いのです。

  • VB 6 を VS 2012に変換するには?

    長いこと、VB6で開発をしてきました。このプログラムはハードはRS-232Cを使い入力したデーターをグラフや表で表示したりするものです。VB6を何も不足もなく使って来ましたが、時代に取り残されないように、VisualStudio2012 Professional with MSDN(以下VS2012と略す)を購入しました。ところがプロジェクトファイルの拡張子が違うので読み込めないのです。拡張子が違うことは内容も違うことが考えられます。VB6 ->VS2012 変換をする方法をご教授ください。VS2010に変換する方法で結構ですので皆様、教えて下さい。 ツールボックスからボタンや何やら、最初から同じ名前で作り、ベーシックのソースだけコピーすれば出来るのではと、一度は試しましたが、例として UnLoad xxx 等の重要な関数が付いていないようでコンパイルできないのです。 この方法で、解決された方がおりましたら、回答、お願いいたします。

  • Dirで求めたファイルの更新日時など

    VB6.0です。 Dir関数でファイル名を求めています。 求めたファイルのサイズ、作成日、更新日時を知りたいのですがどのようにしたら良いでしょうか。 よろしくお願いいたします。

  • コピーが・・・

    先日質問をして、回答を頂きありがとうございました。 今回も、是非お教えください。  PHPでcopy関数により  ・クライアントのファイルをサーバへ  ・サーバのファイルをクライアントへ  と言うことをしようとしています。   例:copy("\\\\192.168.xx.0\\sv\\file1.txt", "\\\\192.168.xx.2\\cl\\file1.txt");  でも、クライアント側へのファイル権限がありコピーできません。  どの様にしたら権限の変更等が可能なのでしょうか?  chmodはWinでの使用ができないので・・・。  環境  サーバ:Win2000, WinApache, PHP  クライアント:Win2000  閉じたLANでの運用(インターネット接続なし) 不十分な説明ですが、おわかりの方がおりましたらお願いします。 

    • 締切済み
    • PHP
  • DOSコマンド(COPYコマンド)について

    DOS上でのCOPYコマンドについて確認します。 EXCELのファイルで、毎回ファイル名が変わるため、COPYコマンドで固定のファイル名にしようと思い、バッチ起動で、COPY \AAA\*.XLS \AAA\BBB.XLSで実行すると、コピー元と違うファイルサイズのBBB.XLSが作成されます。 中身を参照すると、文字化けしたものが 1レコードだけ作成されています。どうしてなのでしょうか? ※コピー元の*.XLSは、毎回 1ファイルのみです。