改善依頼:ファイル移動動作、優先順位中

投稿者:田中充 投稿日:2018/08/26(Sun) 13:06:08 No.1611

田中です。お世話になっております。

ファイル操作:【移動元】を【移動先】へ移動する
において、移動先ファイルが存在するとエラーとなってしまいます。

速攻でファイルを最新に入れ替えたい時、テンポラリーファイルで作成しておいて、ファイル移動でファイルを更新する事が多々ありますので、移動での上書きを許容していただきたく。

■■■■エラー内容■■■■
IOException 既に存在するファイルを作成することはできません。
場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
場所 System.IO.__Error.WinIOError()
場所 System.IO.FileInfo.MoveTo(String destFileName)

場所 Produire.CoreLibrary.ファイル操作.移動(String 移動元, String 移動先, IScope scope)
■■■■エラー内容■■終わり■■

◆動作環境情報◆
プロデル 1.5.915
Windows 10(64)
メモリ:3.84 GB

以上、よろしくお願いいたします

今のところ仕様です

投稿者:ゆうと 投稿日:2019/02/16(Sat) 18:22:12 No.1716

こんにちは ゆうとです。
ご要望ありがとうございます。

こちらについては、正しい仕様と考えています。
ファイル移動時に上書きするのは、一概に良いと言えないこともありますので、エラーとすることにしています。
上書きしたい場合には、次のように上書き先のファイルを消すようにプログラムを書いてください。

----------
移動元は、「xxxx」
移動先は、「yyyy」
もし移動先というファイルが存在するなら移動先を削除する
移動元を移動先へ移動する
------------

ただよく確認するとコピーなどの一度の場合で上書きになっているようですので
何かのタイミングでオプションを増やすなどして対応するかもしれません。
よろしくお願いします。

Re: 今のところ仕様です→承知しました。

投稿者:田中充 投稿日:2019/02/18(Mon) 15:49:12 No.1729

いつもお世話になっております。田中です。

仕様の件、承知しました。

外部プログラムが常時置き換え先ファイルを監視していて、そのファイルが一瞬でも無くなると外部プログラムが「異常」と判断してしまう場合がありそうなので、このようなお願いをしました。

そのような場合は、「コマンド実行」文にてMOVEコマンドを実行すれば代替できそうです。

以上です。

▲ページの先頭へ

- WebForum -