---
# System prepended metadata

title: PowerShellで、指定したディレクトリのファイルを正規表現で一括置換する 2023-02-18
tags: [一括置換, BOM, PowerShell, 正規表現]

---

---
lang: ja-jp
breaks: true
---
# PowerShellで、指定したディレクトリのファイルを正規表現で一括置換する 2023-02-18

```mfd=
call powershell -Command "Get-ChildItem -Path '%CD%\%FILEPATH%\' -Filter '*.sql' -Recurse | Foreach {[System.IO.File]::WriteAllText($_.FullName, ([char]65279) + [regex]::Replace([System.IO.File]::ReadAllText($_.FullName), '(?s)\r\nGO(?<CRLF>\r\n)','${CRLF}'))}"
```

:::info
上記の例は、指定したディレクトリのsqlファイルから `GO` 行を一括で削除し、UTF-8 BOM付で書き換えている。
:::

###### tags: `PowerShell` `正規表現` `一括置換` `BOM`
