0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PowerShellでファイル名に作成日時を追加する

Last updated at Posted at 2021-03-21

 作成日時順にファイルを整理したいときにファイル名の頭に作成日時を追加するスクリプトです。

 PowerShellのスクリプトは基本的にISEかPowerShellの画面を開いて実行します。
 バッチファイルからの起動方法についてはこちら。
  → バッチファイルからPowerShellのスクリプトを起動する

powershell
Set-Location "C:\Users\user\Pictures\My Cloud"
$movieFiles=Get-Childitem "*.MTS" -File
$movieFiles|foreach{
                    $newName=$_.LastWriteTime.ToString("yyyyMMdd-HHmmss")+$_.Name
                    Rename-Item $_.FullName -NewName $newName
                    }

まずはファイルの入っているフォルダに移動します。

フォルダ指定
Set-Location "C:\Users\user\Pictures\My Cloud"

つぎにファイルの拡張子を指定します。

ファイルの拡張子を指定
$movieFiles=Get-Childitem "*.MTS" -File

拡張子が表示されていないときは、エクスプローラーの「表示」タブで「ファイル名拡張子」のチェックをします。
ファイル名拡張子.png

新しい名前
$newName=$_.LastWriteTime.ToString("yyyyMMdd-HHmmss")+$_.Name

 $.LastWriteTimeはそのままだと日付型なので、ファイル名にするとエラーが出ますから、ToStringやformatで文字列型に変換します。
日付のみをファイル名にすると、同じ作成日のファイルがあるとエラーになるので、+$
.Nameと元々のファイル名を後ろにつけることでエラー回避しています。拡張子も加えられます。

 yyyyMMdd-HHmmssをyyyymmdd-HHmmssと記載しないよう気をつけてください。
 Windows系の言語は基本的に大文字小文字を区別しないので私含めて意識しない人が多いと思いますが、mmは分、MMは月なので、MMを小文字にすると年"分"日となってしまいます。
 ちなみに、HHをhhとしても24時間表記が12時間表記になるだけなので影響は少ないです。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?