FileCopy ライダー による上書きしたファイルのタイムスタンプが変わらない件

66 views
Skip to first unread message

TJ

unread,
Jun 13, 2016, 12:36:19 AM6/13/16
to FMEユーザーフォーラム
FME 2016.1.0.1

Shape ファイルに対して、変更を加えたいです。
FME はShape ファイルに対して、そのまま変更加えることができませんので、元Shapeファイルを加工し、FeatureWriter でテンポラリフォルダに一旦出力してから、FileCopy ライダーで元 Shape ファイルを上書きするワークスペースを作成しました。

FileCopy ライダー設定
File Operation : MOVE
Overwrite Existing File : Yes

ワークスペース実行後、Shape データの中身が更新されていることが確認できました。しかし、Shape ファイルのタイムスタンプが元のままで更新されませんでした。

別で新しいタイムスタンプのファイルを使って、古いタイムスタンプのテキストファイルを上書きするテストもしてみましたが、こちらもファイルの中身が更新されて、ファイルのタイムスタンプが古いままでした。

FileCopy ライダーのヘルプとパラメータ設定でも探してみましたが、タイムスタンプに関連する設定が見つかりませんでした。

FileCopy ライダーは昔からこの仕様でしょうか?FileCopy ライダーでファイルを上書きした場合、ファイルのタイムスタンプも一緒に更新する方法がありますでしょうか?






Takashi Iijima

unread,
Jun 13, 2016, 2:10:34 AM6/13/16
to FMEユーザーフォーラム
タイムスタンプとは、Windows エクスプローラーなどで表示されるファイル「作成」日時のことでしょうか。ファイル「更新」日時は、その操作でも更新されると思います。
ファイル作成日時等のメタデータはむやみに変更すべきではないと思いますが、Vector でファイル作成日時を変更するためのフリーツールはいくつかあります。

FMEでも、一旦、ソースファイルを削除してから出力ファイルを元の場所に移動すれば、メタデータも完全に更新されると思います。
ただし、ひとつのワークスペースの変換プロセスが終わるまではソースファイルがロックされているので、FeatureWriter と File Copy ライターの間でソースファイルを削除することはできないと予想します。
やるとすれば、変換プロセス終了後の Shutdown スクリプトで行う、あるいは、他のワークスペースから WorkspaceRunner によって変換を実行後、ファイル削除と移動を行う、のどちらかでしょう。
どちらにしても、TempPathnameCreator で作成したテンポラリファイルだと変換プロセスが終わったときに削除されてしまうので、別途、作業用のフォルダを用意する必要があると思います。

Takashi Iijima

unread,
Jun 13, 2016, 2:36:55 AM6/13/16
to FMEユーザーフォーラム
ちょっとやってみましたが、コピー前に削除しても、作成日時は以前の値が引き継がれるみたいですね。
OSの制約かも知れません。ファイルの作成日時を変更するには、別途、Windows API が利用できる言語でプログラムを作るか、フリーツールを使う必要がありそうです。

TJ

unread,
Jun 13, 2016, 3:10:16 AM6/13/16
to FMEユーザーフォーラム
>タイムスタンプとは、Windows エクスプローラーなどで表示されるファイル「作成」日時のことでしょうか。ファイル「更新」日時は、その操作でも更新されると思います。
チェックしたら、「作成日時」でも、「更新日時」でもなく、「日付時刻」という項目があります。ちなみに OS はWindows7 です。


>OSの制約かも知れません。ファイルの作成日時を変更するには、別途、Windows API が利用できる言語でプログラムを作るか、フリーツールを使う必要がありそうです。
FME を使わずに、手動でファイルをコピーして上書きしても、先に元のファイルを削除してからコピーしても、確かにこの「日付時刻」が変わらかった。おっしゃった通り、FileCopy ライダーとは関係なく、OSの制約かもしれません。

今回の作業ではタイムスタンプが重要ではありませんが、タイムスタンプを操作する必要がある場合、今回の現象を意識して、別のツールで対応するようにします。ご回答ありがとうございました。
Auto Generated Inline Image 1
Reply all
Reply to author
Forward
0 new messages