• 締切済み

ファイルの排他について

windows2000でDOSコマンドのcopyを使って ファイルをコピーをしようとしています。 コピー元のファイルが使用中(書き込み中)のときは ロックをかけるようなコマンドか引数はあるのでしょうか? 今は、普通に copy fileA fileB とやった場合、fileAが書き込み中でも 途中までの状態でコピーされてしまいます。 なにか良い対策を教えて下さい。

  • xxxx
  • お礼率45% (9/20)

みんなの回答

回答No.1

XCOPY を試してみてください。(他にXCOPY32も) http://www.nifty.ne.jp/forum/fpcu/dosvcmd/xcopy.htm XCOPY 送り側 [受け側] [/A | /M] [/D:日付] [/P] [/S] [/E] [/W] [/C] [/I]]                 [/Q [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/N] 送り側 コピーするファイル (複数可) を指定します。 受け側 新しいファイルの場所と名前を指定します。 /A アーカイブ属性のファイルをコピーします。 属性は変更しません。 /M アーカイブ属性のファイルをコピーします。 アーカイブ属性は解除されます。 /D:日付 指定された日付以降に変更されたファイルをコピーします。   日付を指定 しない場合は、送り側が受け側より新しいファイルだけがコピーされます。 /P 受け側のファイルを作成する前にプロンプトを表示します。 /S 空のディレクトリを除いて、サブディレクトリもコピーします。 /E 空のディレクトリも含めて、すべてのサブディレクトリをコピーします。/S /E と同じ意味です。/T と同時に指定できます。 /W コピーする前にキーを入力するためのプロンプトを表示します。 /C エラーが起きてもコピーを続けます。 /I 受け側がなく、複数のファイルをコピーする場合、受け側をディレクトリとしてコピーします。 /Q コピー中にファイル名を表示しません。 /F コピー中に受け側と送り側のパスおよびファイル名を表示します。 /L コピーするファイルを表示します。 /H 隠しおよびシステム ファイルもコピーします。 /R 書き込み禁止ファイルも上書きします。 /T ディレクトリだけ作成してファイルはコピーしません。空のディレクトリは作成されません。    /T /E を指定すると、空の ディレクトリも作成されます。 /U 受け側にあるファイルを更新します。 /K 属性をコピーします。 通常、書き込み禁止属性は解除されます。 /Y 確認のプロンプトを表示せずにファイルを上書きします。 /-Y ファイルを上書きするか確認するためのプロンプトを表示します。 /N 短いファイル名を使ってコピーします。 zcopy http://www.vector.jp/soft/dos/util/se002494.html

xxxx
質問者

お礼

お礼がおそくなり、申しわけありませんでした。 xcopyについての機能を参考にさせていただきます。

関連するQ&A

  • findstrで複数ファイルを検索するとき

    findstr "aa bb" fileA.txt fileB.txt とすると、aa bbがそれぞれfileA.txt fileB.txtに適当に入ってるとき、結果は fileA.txt:aa fileB.txt:bb fileB.txt:bb fileA.txt:aa などと、検索結果の各行の初めにファイル名が出てきてしまいます。 このファイル名を出さないようにすることって出来ませんか。この場合、 aa bb bb aa とだけ出てきたらいいのですが。 /Mというオプションはファイル名だけを出すもので、この逆、ファイル名を消す、というのが欲しいのですが。 findstr以外のコマンドでもいいです。 ここで使っているのはwindows用のGNU utilities for Win32です。

  • ファイルへの書き込みを妨げないコピー・バックアップ

    コピー元ファイルへの書き込みを禁止せずにコピー・バックアップできるソフトを教えてください。ファイルのコピーをしたいのですが、コピー中に別のソフトがそのファイルへの書き込みを行った場合でも書き込み側でエラーにならないようにしたいのです。コピーのほうは、書き込みにより失敗しても構いません。(最悪、中断して尻切れになるなど不正なファイルが出来てしまっても大丈夫です。対策することは可能です。) 私の見落としでなければ、Windowsのcopyコマンド、FastCopy、BunBackupではできないようです。 Windows7で使います。

  • DOSのコマンドで、隠しファイルをcopyまたはrenameする方法

    OSは、Windows98SEです。 隠しファイルの属性のついたファイルをいじる前に、それをバックアップしたいとします。 しかし、隠しファイルをDOSプロンプトでcopyをしようとしても、 「ファイルが見つかりません」と文句を言ってきます。 (renameの場合も同様に文句を言ってきます。) dir /A:H で表示はできるし、エクスプローラでは見えるので、無いわけはないのです。 エクスプローラでコピーしたり元に戻したりできれば全くかまわないのですが、 もしそういうファイルを下手にいじってしまって起動できなくなってしまって 起動フロッピーで起動するときには、 DOSのコマンドでバックアップから元に戻したりすることになると思います。 DOSのコマンドで、隠しファイルをcopyしたりrenameするにはどうすればよいのでしょうか。 それとも、そういう場合は、あらかじめ、隠しファイル属性をはずしておくべきなのでしょうか。 私は DOSのコマンドは、cd, dir, copy, rename くらいしか知りません。(それらも、自信なし。) よろしくお願いいたします。 (この質問は、約1週間のあいだ 回答がないと、締め切ります。)

  • 別ファイル上でオブジェクトを一度にエクスポートするには?

    【Win98/Access97】 お世話になります。 早速質問ですが、AccessのファイルがFileA,FileB,FileCと3つあるとして、 FileC上から実行をかけると、FileBの全てのオブジェクトがFileAへエクスポ ートされるようなしかけを作ることはできるでしょうか? マクロを作成してデータベース変換やオブジェクトのコピーなどを試してみましたが、 いずれもテーブルやフォームは問題ないものの、レポートが「無効な参照」と出てしまってエクスポートできません。 取りこみたいファイルにマクロを作ってインポートする方法はできないことも ありませんが、オブジェクトを手で消されたりすると困るので、できるだけ ユーザーに中を触らせたくありません。 よい方法がありましたら教えて下さい。

  • MS-DOSで空ファイルのコピー

    win98のDOSプロンプト使用時に疑問に思ったことです。 DOSコマンドの「copy」についてなのですが ファイル容量"0"の空ファイルは、コピーできないものなのでしょうか? DOSで空ファイルをコピーしようとした時、 「0個のファイルをコピーしました」の結果が返ってきます。 もちろんコピー先ファイルは存在しません。 同じくDOSの「move」コマンドでの空ファイルの移動は可能ですし、 UNIXでは空ファイルのコピーはできました。 また、winXPのコマンドプロンプトで行うと、空ファイルもコピーできました。 NT系のはMS-DOSではないので、動作が違ってもおかしくはないとは思いますが。 理由が単に、DOSが「空ファイルはコピーできない仕組み」を持っているのか、 はたまた他に原因があるのか。 ご教授いただきたく、よろしくお願いいたします。

  • ファイルのコピー

    どなたか以前にも質問されてるかもしれませんが、PC-DOSにてファイルのコピーをする関数など(単なるDOSのcopyコマンドとどうとの作業をするもの)があれば教えてください。 使用しているのは、ボーランドC++4.5です。 できれば、使用ヘッダと、プロトタイプ宣言を教えてください。 よろしくお願いします。

  • 起動しなくなってしまったXPのファイルコピー(外付けHDDへ)

    PCが起動しなくなってしまいました。OSはXPです。 FD起動ディスクを用意し、DOSコマンドにより 外付けHDDに必要なものだけコピーしたいのですが、 どういうコマンドを使用すればよいでしょうか? とりあえず、第一優先は画像ファイルがいくつか点在していますので、 画像ファイルを一覧で確認後、COPYコマンドによりCOPYしたいです。DOSコマンドはあまり知らないのですが、できるものなら*.jpgというような指定で外付けHDDにコピーしたいです。 一応やりたいことは (1)画像ファイル(たとえば拡張子jpg)がどこに保存されているか? (2)画像ファイルを外付けHDDへコピー です。 ご教授よろしくお願いします!!!

  • Dosで FDに大きな容量のファイルをコピーするには

    windows98が起動しなくなったので、 Dosモードでマイドキュメントにあるファイルだけでもバックアップしようとしています。 C:\>copy mydocu~1 a: と打ち込むとフロッピーディスク(FD)に30ファイルぐらいコピーできましたが、十分な空き容量がないと出て(1.44MBしかないので当たり前ですが)そこで終ってしまいます。コピーが終わったその次から新しいFDをいれてコピーを続けていくコマンドはないでしょうか? 図書館やネットで調べましたがわかりませんでした。お知恵をお借りできれば幸いです。

  • WindowsでファイルをCOPYしたいです。

    WindowsでファイルをCOPYしたいです。 あるディレクトリ(およびその配下にも)にjpegとwmvが混在しています。 このうちjpegファイルだけをディレクトリ構造ごと一括でCopyする方法は ないでしょうか? フリーアプリでもDOSコマンドでもよいのでお願いします!

  • ファイルコピーの際に化けてもOSは気付きませんか?

    Windowsでファイルをコピーする際、コピー先とコピー元の内容の同一性は保証されているのでしょうか(化けた場合に通知されますか)? それが無いのなら実行ファイルでは暴走しかねないと思いますし、逆に保証されているのならコマンドプロンプトのCOPYコマンドにおける /Vオプションの存在理由が分かりません。