PowerShell

PowerShell

ファイルを更新日付ごとにフォルダ分けするPowerShellのサンプルコード

大量格納されたファイルを更新日付ごとにフォルダ分けする、PowerShellスクリプトのサンプルを紹介します。仕様フォルダに格納されたファイルを更新日付ごとに、サブフォルダに格納します。実行イメージ下記のファイルの例だと、4/17のファイルが1つ、2/25のファイルが4つ格納されています。この場合は各ファイルが、フォルダ「20220417」、フォルダ「20220225」へ割り振りされます。ソースコードソースコードは下記のとおりです。$currentPathは日付ごとにフォルダ分けしたいファイルが存在するパスです。適当に変えてください。更新日付ごとにフォルダ分け.ps1$currentPath = "C:\temp\powershell\file\"#作業フォルダ移動Set-Location -Path $currentPath#フォルダのファイル一覧取得$items = Get-ChildItem -File#ファイルごとにループforeach ($item in $items) { #フォルダ名作成(年月日) $newFolder = $item.LastWriteTime.ToSt...
PowerShell

PowerShellで正規表現を使って、フォルダ内のファイル名を一括変換する方法を紹介

PowerShellと正規表現で、指定したフォルダにあるファイルの名前まとめて変換する方法を紹介します。仕様動作仕様Windows PowerShellでフォルダ内のファイル名を、全てまとめて変換します。ただし、様々なファイル名の形式にできてしまいますので、今回は以下の例題をもとに考えます。例題フォルダ構成c:\temp\test2の下に、下記のファイルが格納されているものとします。例題フォルダ内のファイル「test1_test0001_nnnn.txt」のうち、「test0001」の個所をまとめて「abc」に置き換えます。使用する正規表現下記の正規表現で、「test0001」の個所を検索します。(?<=^test1_)test{4}test1_で始まる個所から読み込んで「test+4文字の数字」のある部分を検索する正規表現です。※また、実は別にこんな凝った正規表現でなくとも、「test0001」でも十分なのですが、「test2_test0001_0002.txt」や「test1test0001_0002.txt」、「test1_test0001_test0001.txt」のようなファ...