同じファイル情報のまま、ファイルサイズがゼロのファイルにしてコピーを行いたい。touch

2015年3月15日日曜日

PC

t f B! P L

やりたいこと

abc.mp4 ファイルサイズ4MB というようなファイルがあり、
これを、更新日時などをそのままに、ファイルサイズをゼロにして別ファイルを作りたい。
Linuxならtouchコマンド一発です
元ファイル:abc.mp4
作成するファイル:ddd.mp4
コマンド実行は、 touch -r abc.mp4 ddd.mp4

Windows

Windows用のtouch コマンド フリーソフトを探してみました。
こちらのtouchが仕様的に良い感じです。

上の条件で touch -r abc.avi ddd-w.mp4 と実行します。
下のWindowsエクスプローラー表示は、
ddd.mp4はLinuxのtouchを使用。
ddd-w.mp4はwindows用のフリーソフトtouchを使用したもの。
日時に少し違いが有ります。

元のabc.aviファイルの日時に対して、更新日時は同一、作成日時はLinux,Windows共異なる。アクセス日時はLinuxがちょっと異なります。

Linuxからファイル情報を見ると
ファイルの作成・状態変更日を ls -cl で表示すると

と同じ日付として表示されます。
ファイルの最終参照日を ls -ul で表示すると


ということで、windowsとlinuxのファイルシステムの違いから、日時は見え方が異なるということです。 更新日時だけに注目すれば、元ファイルabc.aviと同じなので悩まず使えます。

実行上の不具合
元ファイルが長くスペースの位置によっては、コピー動作をしない場合があります。 ファイルが作成されない現象。  ちょっと試してみたのですが、不具合の条件は詰めることができませんでした。 ただ、Windowsのファイル名にスペースが入ると、何かと問題が起きるのでフリーソフト側の問題ではないと思います。

フリーソフトtouchは、ちょっと注意すれば有用なソフトです。作者様に感謝。
ソースが付属されていますので、自分用に修正も可能です。
スポンサーリンク

このブログを検索

QooQ