閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

任意のディレクトリの下にあるファイルのタイムスタンプを一括で変更する

そういうツールもたくさんあるみたいだし、適当なのダウンロードしてきて使おうかと思ったけどコード書いた方が速そうだったので、Rubyで書いて片付けた。

dir = "任意のディレクトリ"
Dir::glob(dir + "**/*").each do |f|
  now = Time.now
  File::utime(now, now, f)
end

実際にはこれだとディレクトリのタイムスタンプも変更されるので、ディレクトリだけ/ファイルだけ変更したい場合はFileTestで判定とかすれば良いと思う。

最近自分で何か書いて解決しようという考えが出にくくなってて良くないなぁ。もっとコード書かねば。あーでもこれ、普通の人はシェルで済ませるものだったりするんだろうか。