秒数まで含め下記のような形式にしたい場合はアプローチを変えます。
使用イメージ。画像は時分秒なし
やっぱりバッチが好き。
バッチ、コマンドプロンプトではファイルの更新秒まで取得することができないようです。
このためPowerShellをバッチ内で実行することで無理やり取得します。
意地でもbatを使い続けるッ!(新しいことが覚えられないだけ。)
下記をバッチファイルにしたうえで、ドラッグ&ドロップ
またはsendtoに保存してから送るで実行。
:home for /f "usebackq tokens=*" %%i in (`powershell -NoProfile -ExecutionPolicy Unrestricted -Command "& { (Get-ItemProperty '%~1').lastWriteTime.ToString('yyyyMMddHHmmss') }"`) do @set DATETIME=%%i ren %1 "%DATETIME%_%~nx1" shift If %1.==. goto :EOF goto home
下記を参考させていただきました。
バッチファイルから PowerShell を呼び出す方法 - Qiita
windows - How can I display the time stamp of a file with seconds, from the command line? - Super User
---
2015/11/2
0時~9時だと桁がすくなくなるので、ちゃんとゼロパディングされるよう変更。
またpowershell部分を見直し。
0 件のコメント:
コメントを投稿