cmdまたはPowershellを使用して、複数のファイルの名前を「Modified Date / Time」に変更します


9

フォルダーに何百ものJPGファイルがあります。各ファイルの名前を変更して、ファイル名がそのファイルの「Modified Date / Time」に置き換えられるようにしますDD.MM.RRRR.HH.MM.jpg。例えば、

Before    After  

001.jpg   11.01.2011.16.58.jpg  
002.jpg   12.01.2011.09.32.jpg  
003.jpg   14.01.2011.12.41.jpg  
...       ...

コロン(:)はファイル名に使用できないため、HHとMMの間のコロンをピリオドに置き換える必要があります。

サードパーティのツールを使いたくありません。Powershellまたはコマンドラインでこれを実現するためのコードを提供していただけますか?

回答:


15

これをPowershellで試してください:

Get-ChildItem *.jpg | Rename-Item -newname {$_.LastWriteTime.toString("dd.MM.yyyy.HH.mm") + ".jpg"}

0

ここに私のフィードバックを気にしないでください。

'Rename-Item'で次のエラーが発生しました: Rename-Item:ファイルが既に存在する場合、ファイルを作成できません。

そこで、Siim Kのソリューションに次のように追加し、これを「Windows Powershell ISE」内で実行しました。

Get-ChildItem * .jpg | ForEach-Object {$ NewName = $ .LastWriteTime.toString( "yyyy.MM.dd.HH.mm.ss.ss")+($ script:i ++)+ ".jpg" $ Destination = Join-Path -Path $ .Directory.FullName -ChildPath $ NewName Move-Item -Path $ _。FullName -Destination $ Destination -Force}

「yyyy.MM.dd.mm.ss.ss」の順序で私の画像がより適切にリストされていることを確認しました。また、フォルダ内の画像数が減らなかった(誤って削除された)ことよりも認識しました。これが他の「スーパーユーザー」(初心者または経験者)に役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.