私はフリーランスの仕事をしています。
いつも、いただいた締切よりも早めに納品するように心がけています。
(先方が見て、ミスが見つかったときにリカバリする余裕があるので…)
でも、ごくたまに「納品は期日当日にして」と言われることもあります。
で、さらに、「作成物のタイムスタンプを納品日当日にして」と言われることもあります。
正直「めんどくさい…」と思うことも。
そういう案件に限って、作成物を出すのにすごく時間がかかったりするので、その当日作成するのだと不安だったりするんですよね。
そして、大体そういう作成物ってファイルサイズがすごく大きくて、タイムスタンプを変更するのに『一回開く』 → 『保存』するのがすごく手間だったりします。
(そして、ファイル数がすごくたくさんあったりする…)
以前…多分まだ Windows7 くらいの時代のときは、『タイムスタンプ変更ツール』的なものをダウンロードしてきて、それでヒョイッとタイムスタンプを変えていました。
ですが、Windows11 になったあたりから? なんかタイムスタンプ変更ツールがうまく使えないことが多いな、と。
で、どうするのがいいのか Gemini に聞いてみました。
すると、「PowerShell で変更できる、ただし戻せないから自己責任で」とのこと。
調べてみると、たしかにそういうコマンドがあるみたいですね。
いわゆる『黒い画面』を出して、『CD』(Change Directory)でその場所に移動して…とやるやつか、と思ったんですけど。
今回 Gemini が教えてくれたのは、「変更したいファイルがあるフォルダで右クリックを押し『ターミナルで開く』を選択すると、いちいち『CD』で移動しなくて大丈夫」だと。
へーーー、知らなかった!
で、肝心のコマンドですが、
Get-ChildItem -Recurse | ForEach-Object { $_.CreationTime = "2026/04/06 19:00:00"; $_.LastWriteTime = "2026/04/06 19:00:00" }
目的のフォルダ内で右クリック、『ターミナルで開く』で黒画面が開いた後、↑を入力して『Enter』を押すと、そのフォルダ内のファイル・フォルダすべての『作成日時』と『更新日時』が『2026/4/4 19:00』に変更されます。
ファイルだけ(フォルダのタイムスタンプは変更しない)のときは、↓です。
Get-ChildItem -File -Recurse | ForEach-Object { $_.CreationTime = "2026/04/06 19:00:00"; $_.LastWriteTime = "2026/04/06 19:00:00" }
なるほど『-File』というのが追加になっているので、これでフォルダだけに絞れるんですね。
『ForEachObject』とあるので、くるくる回すってことですね。
で、「このコマンドで、時間が好きに変更できて、ボタンを押したら今現在の時間にリセットできて、コマンドのコピーボタンも付いていて、実行手順も記載されているページ、作って~」とお願いしたら、作ってくれちゃいました。
すごいな…。
なんかしらんけど、Mac/Linux 用まで作ってくれた…持ってないけど…。
年に数回あるかどうか、というレベルですが、これで面倒くさい作業をやる必要がなくなりました。
わーい、ありがたいです。
一応、下に公開させてもらいます。
使用するときは、元アイテムの複製も作っておいてくださいね。

人のものを使うのがちょっと…と思う方は、Gemini などの AI さんにお願いしたら同じようなものを作ってもらえると思います。
以前作ってもらった PDF を1枚ずつ画像にするツールも、本当に便利に使っています。
今度はどんなものを作ってもらおうかなぁ。
本当に、夢が広がりますねー。



コメント