「グレップして置換」で更新日時を維持さNo.38276
さん 20/06/24 08:12
 
 お世話になります。

 「grepして置換」について質問です。
 「grepして置換」でファイルの更新日時を維持させたいのですが、何か方法はあり
ますでしょうか。
 ファイルが1つや2つであれば、どこかに更新日時をメモしておいて、秀丸ファイ
ラーClassic等で変更すればいいのですが、ファイルがたくさんとなると、かなり大
変です。
 個人的には更新日時を変更したくないことがときどきあるので、何か方法があれば
と思い、質問させていただいた次第です。
 何かアドバイスをいただけると幸いです。
 環境は、Windows10 64ビット、秀丸エディタ 8.92 32ビット版です。

 以上、よろしくお願いいたします。

[ ]
RE:38276 「グレップして置換」で更新日時No.38279
秀丸担当 さん 20/06/24 15:30
 

grepして置換で、更新日時を維持させるようにすることはできないです。
維持する機能の追加は、混乱するかもしれないのでやめておこうと思います。
そのままの維持というわけではないですが、秀丸ファイラーClassicを使って更新日
時を揃えることはできます。
秀丸ファイラーClassicでファイル一覧上のファイルを複数選択して、[ファイル(F)]
→[属性と日時(A)...]より複数のファイルや、「サブフォルダ内も含めて変更」をON
にしてサブフォルダ内も変更できます。
または、検索枠で検索してからだと、特定の日時以降のファイルだけを対象にして変
更もできます。

[ ]
RE:38276 「グレップして置換」で更新日時No.38280
でるもんたいいじま さん 20/06/24 16:42
 
こんにちは。秀丸愛用者の「でるもんた・いいじま」と申します。

> 「grepして置換」でファイルの更新日時を維持させたいのですが、
> 何か方法はありますでしょうか。

UNIX系OSで使われているtouchコマンド(をWin32用にコンパイルしたバイナリ)を使
うのがいいと思います。

これがあれば、cmd.exe のコマンドラインから下記のように処理できます。

【grep置換の前に】
mkdir .time
xcopy /c/f/h/r/k *.html *.css *.js .time\

【処理が一通り終わった後で】
for %F in ( *.* ) do if exist .time\"%~F" touch -r .time\"%~F" "%~F"
#そのあと .time フォルダを丸ごとゴミ箱に捨てます。

touch.exe というバイナリをどこから入手するのかは好みが分かれるところだと思い
ますので(何かDLLが要るのか要らないのかとか、Unicodeのファイル名に対応してい
るのかとないのかとか)、お好みのものを探してみてください。


touchコマンドの詳しい使い方はこのあたりを参照:
【man touchの日本語訳】
http://linuxjm.osdn.jp/html/GNU_coreutils/man1/touch.1.html
http://www.koganemaru.co.jp/cgi-bin/mroff.cgi?subdir=man&lc=1&cmd=&man=touch&dir=jpman-12.1.2%2Fman§=1

【詳しい情報(英語)】
http://www.gnu.org/software/coreutils/manual/html_node/touch-invocation.html

[ ]
RE:38279 「グレップして置換」で更新日時No.38281
さん 20/06/24 20:24
 
 お世話になります。

>grepして置換で、更新日時を維持させるようにすることはできないです。
>維持する機能の追加は、混乱するかもしれないのでやめておこうと思います。

 了解しました。
 ありがとうございました。

 以上、今後ともよろしくお願いいたします。

[ ]