• 締切済み

ファイルの転送終了判定方法について

あるファイルをローカルマシン内でコピーしたときに、 コピー終了を判定する方法は、 どのような方法でしていますか? EOF検知ぐらいしか思い付かないんですけど(^^);

みんなの回答

  • hyde-la
  • ベストアンサー率28% (42/146)
回答No.2

タイミングが解らないと困るというと、 コピーを別スレッドで、ということでしょうか? 終了時にシグナルを発生させて、 WaitForSingleObjectを使うのが常套手段かと思いますが どうでしょう? SDKのAPI、CopyFileを使うのであれば、Kanataさんのおっしゃる 通りかと。

noname#9414
noname#9414
回答No.1

プログラムを組むのですか? Win32 APIならCopyFileを使えば、BOOLで終了したか 判断できますよ。成功していればTRUE、失敗していれば FALSEが返ってきます。GetLastError関数を使えば、 エラーの種類も分かります。 プログラムを組むのでなければ、補足してください。 ではでは☆

関連するQ&A

  • VB6でのファイルコピーの終了検知について

    FileCopyステートメントがありますが、FileCopyステートメントで大きなファイルをコピーしたり、ネットワーク上の別のPCにコピーしたりするとします。 コピーされた後のファイルをさらにコピーしたいのですが、コピーが完全に終了していないせいか、うまく動作しません。 ファイルのコピーが完全に終わったと検知する方法があるのでしょうか? また、ファイルの削除に関しても同様に、完全に削除し終えたと検知する方法があるのでしょうか? どなたか知っておられる方がおられましたらよろしくお願い致します。 FileCopyやKillなどのステートメントにはこだわっていません。 APIなどでもかまいませんのでよろしくお願い致します。

  • 続・EOF判定されない

    前回「EOF判定されない」で回答、アドバイスしていただいた a-kumaさん、Haizyさん、inthefloiさん、anisolさん、leaz024さん、cherry-moonさん 本当にありがとうございました。頂いたアドバイスを試行してみましたが、なぜか、ダメでした。(T-T) 環境が悪いのかもしれませんね。 あれから、feof関数を使わずにファイルの終わりを算出して判定するなどの方法を試みましたが、EOF判定だけのために妙に複雑になってしまい、自分でも納得がいかなかったので、再度こちらで皆さんの意見をもらおうと投稿させてもらいました。 今回は質問の仕方を変えて、モジュールの仕様を挙げますので、それから「自分ならこうする」というようなお答えを頂けたらと思っています。 feof関数を使用しても、その他の方法でもなんでもアリです。(^^) 「ファイル一行入力モジュール」(仕様) 1.このモジュールは実行されると「inputfile.txt」から一行だけ(改行まで)読み込み、終了します。次に実行された時は、その次の行を読み込みます。 2.ファイルの終端に達したら、リターンコードに'4'を設定し、終了する。 以上これだけ。(^^; 「inputfile.txt」(仕様) インプットファイルは、テキストファイルで、一行30バイトの文字列を格納しています。ファイルの総バイト数は不定です。 文字コードは「Shift-JIS」「改行=CR+LF」、ファイルの最後にEOF制御文字を設定しています。 「インプットファイルの内容」  1行目 AAAAAAAAAABBBBBBBBBBCCCCCCCCC[改行文字]  2行目 DDDDDDDDDDEEEEEEEEEEFFFFFFFFF[改行文字]           ・           ・           ・ n-1行目 XXXXXXXXXXYYYYYYYYYYZZZZZZZZZ[改行文字]  n行目 [EOF] 「ここはこうしたらいいんじゃないかな?」的な事でかまいませんので、是非みなさんの意見を聞かせてください。

  • ファイル転送が完了したことを判定する

    UNIX上のシェルにて、大容量のファイル転送が完了したかどうか判定する方法はないでしょうか?test -r $対象ファイル をすると転送中でも読み取り可能となってしまい、ファイルが転送完了したか判断できません。wcコマンドやcatコマンドを使用すると一応エラーではかえってくるのですがそんな方法しかないのかな?と疑問を感じています・・・。

  • ファイルが書き込み中かどうかの判定方法は?

    Linuxで、あるファイルが現在書き込まれ中かどうかを判定する方法はないでしょうか。 思い付くのは、「sleepコマンドを介して "ls -l" を2回実行し、awkで各ファイルサイズ値を取得して比較する」という方法ですが、もっとスマートは方法はないでしょうか。 TV録画ファイルを処理する際に、録画中のファイルも処理対象としてしまわないようにするためのものです。 2007年3月10日

  • 公開終了してしまったPDFファイルを見る方法

    ネット上に公開されていて公開が終了してしまったPDFファイルを見る方法ってありますか?(キャッシュ等) 閲覧履歴からURLは分かっています。 wayback machineというのを試してみましたが無理なようでした… 何か方法ありましたら教えて下さい!

  • コピー完了を判定する方法

    VB6.0でコピーなどのファイル操作を実行した際、手軽に処理完了を判定する方法はないでしょうか? (1)コピー → (2)コピー元ファイル削除  等の処理をする際、(1)の完了を待って、(2)の処理を実行させたいのです。 誰かご存知の方がいらっしゃいましたら、教えて下さい。 よろしくお願いします。

  • バッチファイルの文字判定について

    バッチファイルの文字判定について 以下のような処理をさせたいのですがうまくいきません。 変数Aの中に格納されている文字列の内、 ":"記号が1つでもあった場合→処理実行 ":"記号が1つもなかった場合→goto :eof ディレクトリのパスが納まっているかの確認で、":"を探すようにしました。 あまり良い方法でもないので、ディレクトリのパスが変数に入っているかの確認も、 併せてご教授くだされば幸いです。

  • VB6.0 Shellによる終了監視について

    VB6.0について困っております。 VB6.0にてファイル管理ソフトを開発しています。VBより他アプリ(MS OfficeやAutoCAD等)ファイルを起動させ、終了を監視(終了処理実行のため)しています。 具体的にはWshのshell.Runコマンドを使用して wsh.run("アプリ",NormalFocus,True)として起動させています。 ここで、複数ファイルを起動した場合、最後に起動したファイルが終了しないと、他の終了が検知できません。 例) ファイルAを起動 ファイルBを起動 ファイルCを起動 ファイルDを起動 ↓ ファイルAを終了 ←終了しても終了検知しない ファイルBを終了 ←終了しても終了検知しない ファイルCを終了 ←終了しても終了検知しない ファイルDを終了 ←終了するとA・B・C・Dの終了をまとめて検知し終了処理実行 これを、各ファイルごとに終了を検知させる方法はありませんでしょうか? よろしくお願い致します。

  • 妊娠検査薬の終了線と判定線の関係

    いつもお世話になっております。 同じ種類の妊娠検査薬でも終了線の濃いもの薄いものがあります。 判定線はそれに比例するものなのでしょうか? 判定の基準はその時使った検査薬の終了線ですか? 一昨日ドゥーテストを使用して判定線が終了線の2/3くらいでした。この時の終了線はとても濃く出ました。 今日のドゥーテストは判定線は反応は早かったものの一昨日とほぼ一緒ですが、終了線は一昨日より薄く、判定線と同じくらいです。 終了線を基準とするならば、今日は終了線と同じ濃さの判定が出たと思えますし、 終了線の濃さが関係ないのならば、一昨日の判定と変わらない結果ということになりますよね。 何を基準に判定すべきなのでしょうか?

  • ファイルが転送できない

    友だちに借りてきたDVDからファイルをドキュメントに移したのですがファイルが見当たりません ファイルを右クリック→送るのなかのマイドキュメントをクリックしてコピーが始まりました 転送終了のあとマイドキュメントの中を見てもファイルがどこにもありません もう1度転送しようと思うとマイドキュメントの中には同じファイルが存在しますが上書きしますか?とでてしまいます もう1度上書きで転送しても終了した後どこにもファイルがみあたりません スタート→ファイルの検索でもファイルが存在しませんと出てしまいます もしかしたらウィルスがついているDVD(ファイル)かと思い、DVDをウィルスチェックしたのですが、ウィルスはないと出ました 他のDVDではファイルの転送ができるのを確認したので、コピーガードか何かかがかかっているのでしょうか? 何が原因かわかりましたら回答よろしくお願いします

専門家に質問してみよう