メモ
下記の動作を行うPowerShellスクリプトです。
セキュリティソフトによっては、日本語のファイル名を対象に多くのRename-Itemを実行しようとすると、ランサムウェアとしてブロックされるようです。
使い捨てスクリプト
- オブジェクトの解放を行っていないメモ用スクリプト
# PowerShell 5.1 # Windows 10, Excel 2019 # このスクリプトをメモ帳で保存する際は、 # 文字コードを UTF-8(BOM付き) としてください。 # Excelがバックグラウンド プロセスとして残るので、 # タスク マネージャーからタスクを終了させてください。 # エラー処理などは考慮していません Set-StrictMode -Version Latest $xlWBATWorksheet = -4167 $xlApp = New-Object -COMObject "Excel.Application" $xlApp.Visible = $true $xlApp.ScreenUpdating = $false $xlWb = $xlApp.Workbooks.Add($xlWBATWorksheet) $xlWs = $xlWb.Worksheets("Sheet1") $xlRng = $xlWs.Cells() $xlRng.Columns("A:C").NumberFormatLocal = "@" $getChildItem = Get-ChildItem $baseName = $getChildItem.BaseName $extension = $getChildItem.Extension $fileName = $getChildItem.Name for ($i=0; $i -lt $fileName.Length; $i++) { $xlRow = $i + 1 $xlRng.cells($xlRow, 1).Value = $baseName[$i] $xlRng.cells($xlRow, 2).value = $extension[$i] $xlRng.cells($xlRow, 3).value = $fileName[$i] $xlRng.cells($xlRow, 4).Value = "NEW_" + $fileName[$i] $xlRng.Cells($xlRow, 5).Formula = ` "=`"Rename-Item " ` + "-Path `"`"`" & C" + $xlRow + " & `"`"`" " ` + "-NewName `"`"`" & D" + $xlRow + " & `"`"`"`"" } $xlApp.ScreenUpdating = $true