最新版: 1.2.0 2021/12/10
[ZIP]
主な機能と特徴
U’s Timestamp Editor は、ファイルやフォルダーのタイムスタンプ(作成日時、更新日時、およびアクセス日時)を変更します。
- タイムスタンプの定型的な処理をオプションとして用意
- サブフォルダーを再帰的に処理可能
- Windows プロパティシステムに基づいてメタ情報も変更可能
- HTTP-date 形式や ISO 8601 形式のタイムスタンプも入力可能
- 日本語と英語による二ヶ国語ユーザーインターフェイス
- エクスプローラーのコンテキストメニューに統合可能
- Unicode に対応
対象プラットフォーム
- Windows 11, version 21H2 以降
- Windows 10, version 1507 以降
- Windows 8.1 Update
- Windows 7 SP1
インストールと削除
U’s Timestamp Editor のインストールに特別な手順は必要ありません。ZIPファイルをダウンロードして、任意のフォルダーに展開するだけです。不要になったら、ZIPファイルから展開したファイルを削除してください。
起動方法
実行可能ファイル touch32.exe
(32-bit版) または touch64.exe
(64-bit版) のコマンドライン引数に対象となるファイルやフォルダーのパスを設定して実行します。コマンドライン引数を与えなければ作業フォルダー(カレントディレクトリ)が対象になります。
環境設定
U’s Timestamp Editor は、レジストリエントリを作らず、INI ファイルの類も生成しません。環境変数の設定も不要です。ただし、エクスプローラーのコンテキストメニューに統合して利便性の向上を図ることができ、その場合はレジストリエントリをいくつか登録する必要があります。
コンテキストメニューへの統合を登録する場合:
touch32.exe /RegServer
または
touch64.exe /RegServer
コンテキストメニューへの統合を解除する場合:
touch32.exe /UnregServer
または
touch64.exe /UnregServer
なお、上述のコマンドラインオプションは、通常、COM コンポーネントの登録に使われるものですが、U’s Timestamp Editor は COM サーバーではありません。ただ、意図するところは同じなので、一般的な COM コンポーネントの登録方法に倣っています。また、コンテキストメニューに追加される項目は、日本語と英語の二ヶ国語を用意しており、日本語以外の環境では自動的に英語で表示されます。
正常に登録できた後は、ファイルまたはフォルダーを右クリックしてコンテキストメニューを開き、[タイムスタンプの変更]をクリックすると、そのファイルまたはフォルダーのパス名をコマンドライン引数として U’s Timestamp Editor が起動します。
基本的な使い方
U’s Timestamp Editor を起動すると、対象によって異なるダイアログボックスが表示されます。ダイアログボックスは、日本語と英語の二ヶ国語を用意しており、日本語以外の環境では自動的に英語で表示されます。
対象がフォルダーの場合:
[全般]ページでフォルダーのタイムスタンプを、[詳細]ページでフォルダー内のファイルのタイムスタンプをそれぞれ設定し、[OK]ボタンまたは[適用]ボタンをクリックしてください。サブフォルダーを再帰的に処理する場合、同じ設定が各サブフォルダーにも適用されます。[ファイル名]を設定することで、処理の対象となるファイルを限定することもできます。[OK]ボタンまたは[キャンセル]ボタンをクリックすると、U’s Timestamp Editor は終了します。
対象がファイルの場合:
[全般]ページだけが表示されるので、ファイルのタイムスタンプを設定し、[OK]ボタンまたは[適用]ボタンをクリックしてください。[OK]ボタンまたは[キャンセル]ボタンをクリックすると、U’s Timestamp Editor は終了します。
タイムスタンプの設定は、次のオプションの中から選ぶことができます。
- 変更しない
- 指定した日付と時刻に変更する
- 指定した時刻に変更する
- 現在の日付と時刻に変更する
- 時刻を午前零時に変更する
- 秒を切り捨てる
- 作成日時に合わせる
- 更新日時に合わせる
- アクセス日時に合わせる
さらに、対象がフォルダーの場合、次のオプションも加わります。
- 最も古いファイル/サブフォルダーに合わせる
- 最も新しいファイル/サブフォルダーに合わせる
[現在の日付と時刻]ボタンをクリックすると、すべてのタイムスタンプのオプションが[指定した日付と時刻に変更する]に変わり、現在の日付と時刻が設定値になります。また、[参照]ボタンを使うと、現在の日付と時刻の代わりに、任意のファイルやフォルダーのタイムスタンプを設定値にコピーできます。
DTP コントロールには任意の書式の日付と時刻を入力できます。HTTP-date 形式 (RFC 7231) にも対応しており、自動的にローカル時刻に補正されるので、たとえば HTTP レスポンスの Last-Modified
ヘッダの値をそのまま入力できます。
バージョン 1.2.0 以降は ISO 8601 形式にも対応しています。基本形式と拡張形式のどちらでも入力でき、タイムゾーンは自動的にローカル時刻に補正されます。
メタ情報の書き換え
メタ情報として記録されているタイムスタンプの書き換えにも対応しています。Windows Property System に基づいており、プロパティハンドラの登録された拡張子のファイルが対象で、タイムスタンプを値として持つプロパティと総編集時間 (System.Document.TotalEditingTime
) を書き換えることができます。
指定されたファイルに対象となるプロパティがある場合、ダイアログボックスに[詳細]ページが追加されます。ここで編集したいプロパティを選んで値をダブルクリックすると編集モードに入ります。キーボードの場合は F2
キーを使います。読み取り専用ファイルであったり、読み取り専用プロパティであったり、書き換えできないプロパティは編集モードに入れません。設定値を空白にするとプロパティは削除されます。
総編集時間は主に Word や PowerPoint を想定しており、分単位に換算して 32 ビット値を超える時間は入力できないようになっています。Windows Property System の仕様では総編集時間は 100 ナノ秒単位の 64 ビット値として定義されていますが、Office のプロパティハンドラは有効範囲外の値をまともに処理できないようなので入力を制限しています。
Windows Property System に絡む注意点をもうひとつ。標準時の 1601/01/02 00:00:00
未満は空白と同じとみなされ、プロパティが削除されます。日本時間では 1601/01/02 09:00:00
以降が有効なタイムスタンプとなります。
なお、メタ情報の書き換えはファイルの更新日時に影響します。プロパティの設定値が変わった場合、U’s Timestamp Editor はメタ情報を書き換えてからファイルのタイムスタンプの設定を適用するので、必要であれば更新日時も別途設定してください。また、エクスプローラのプロパティシートでは、削除したプロパティが別の値で代替されることがあります。たとえば、メタ情報に「コンテンツの作成日時」がないときはファイルの「作成日時」が代わりに表示されます。
ライセンス
U’s Timestamp Editor は、MIT ライセンスの下でご利用いただけます。ソースコードも公開しています。
開発環境
U’s Timestamp Editor は Microsoft Visual Studio 2019 でビルドしており、/std:c++20
コンパイラオプションにより C++20 標準に準拠させています。ソースコードをコンパイルする際には Windows Template Library が別途必要です。
既知の問題
U’s Timestamp Editor をショートカットファイルのコンテキストメニューから起動した場合、ショートカットファイルそのもののパスではなく、それが指し示すリンク先のファイルやフォルダーのパスが使われます。場合によってはショートカットファイルのパスが使われることもありますが、いずれにしても、これは、エクスプローラーの仕様に依存します。
比較的新しいバージョンの Windows では、システムポリシーに基づいて、最終アクセス日時の更新が有効または無効になります。その影響で U’s Timestamp Editor がタイムスタンプを変更できないことがあります。この機能を無効にしたい場合は、管理者でコマンドプロンプトを開き、次のコマンドを実行してください:
fsutil behavior set disableLastAccess 1
ご意見・お問い合わせ
U’s Timestamp Editor に対するご意見・お問い合わせをお待ちしております。製品の機能強化・改善に役立つことなら何なりとお気軽にお寄せください。
メールの宛先: support@usdesign.jp