Comment remplacer une chaîne de caractères dans un fichier en PowerShell ?
パワーシェル

PowerShell でファイル内の文字列を置換するにはどうすればよいですか?

By Hervé , on 25 6月 2024 , updated on 25 6月 2024 - 1 minute to read
Partager cet article :

PowerShell でファイル内の文字列を置換する必要があったことがありますか?このタスクは、わずか数行のコードを使用して簡単かつ効率的に実行できることをご存知ですか?この記事では、この重要な操作を PowerShell で実装する方法を検討し、スクリプト内のテキストを操作することがいかに簡単であるかを示します。 IT の生産性を向上させる新しいツールを見つける準備をしてください。

Get-Contentコマンドを使用する方法

ファイル内の文字列を置換する パワーシェル これは、特に構成やスクリプトの変更に関しては一般的なタスクです。この操作は、 注文


コンテンツの取得

。その方法は次のとおりです。

開始するには、次を使用します


コンテンツの取得

ファイルの内容を読み取ります。次に、内容をパイプして、


ForEach-Object

各行を個別に処理するため。コマンド


-交換する

これにより、各行の特定の文字列を置き換えることができます。最後に、編集した内容を元のファイルまたは新しいファイルに保存します。


セット内容

次の PowerShell スクリプトは、このアプローチを示しています。



$filePath = "あなたの/file.txtへのパス"
$oldString = "置換する文字列"
$newString = "新しい文字列"

コンテンツの取得 $filePath | ForEach-Object {
    $_ -$oldString、$newString を置き換えます
} |セットコンテンツ $filePath


詳しい手順は次のとおりです。

  • 変数を設定する : ファイルパス、置換する文字列、新しい文字列を指定します。
  • ファイルの内容を読み取る : 使用 コンテンツの取得

    ファイルをメモリにロードします。

  • チャンネルを置き換える : 各行を次のように実行します。 ForEach-Object

    そして使用します

    -交換する

    交換を行うため。

  • 編集した内容を保存する : 使用 セット内容

    変更をファイルに書き込みます。

このメソッドにより、ファイル内で置換される文字列がすべて変更されることが保証されます。彼女も 効果的 大きなファイルを処理するため。

ステップ 1: ファイルの内容を読み取る

1 つを交換する 文字列 PowerShell を使用してファイルを編集することは、システム管理者にとって一般的かつ不可欠なタスクです。コマンドを使ってみましょう コンテンツの取得 これを効果的に達成するために。

まず、ファイルの内容を読み取る必要があります。コマンド コンテンツの取得 ファイルの内容を変数にロードできます。



$filePath = "C:あなたのファイルへのパス.txt"
$fileContent = コンテンツの取得 -Path $filePath


ファイルの内容が読み込まれたら、任意の文字列を置き換えることができます。メソッドを使用する -交換する この操作を実行するには。



$searchString = "古い文字列"
$replaceString = "新しい文字列"
$fileContent = $fileContent -replace $searchString、$replaceString


置換を行った後は、ファイルへの変更を保存することが重要です。コマンド セット内容 ファイルを新しい内容で書き換えることができます。



$fileContent |コンテンツ パス $filePath の設定


単一のコード ブロックの完全な例を次に示します。



$filePath = "C:ファイルへのパス.txt"
$fileContent = コンテンツの取得 -Path $filePath
$searchString = "古い文字列"
$replaceString = "新しい文字列"
$fileContent = $fileContent -replace $searchString、$replaceString
$fileContent |コンテンツ パス $filePath の設定


PowerShell を使用すると、必要に応じて複数のファイルにわたる文字列の置換を自動化し、管理プロセスをより効率的かつ迅速に行うことができます。

ステップ 2: 文字列を置き換える

を交換するには 文字列 ファイルの中に パワーシェルでは、一連のシンプルだが効果的なコマンドを使用できます。最も一般的な方法の 1 つは、次のコマンドを使用することです。


コンテンツの取得

ファイルの内容を読み取り、編集して再度保存します。

この例では、PowerShell を使用してファイルを読み取り、特定の文字列を置換し、変更を同じファイルに保存する方法を示します。

まず、ファイルの内容を変数に読み取ります。コマンドを使用する


コンテンツの取得

これをする :


$content = Get-Content -Path "path/to/your/file.txt"

これにより、すべてのファイルの内容が変数に保存されます


$content

を交換するには 特定の文字列 別の場合は、メソッドを使用します


交換する

:


$contentModify = $content -replace "古いチャンネル"、"新しいチャンネル"

さて、変数


$contentModify

には変更されたテキストが含まれており、「古い文字列」が出現するたびに「新しい文字列」に置き換えられます。

最後に、編集した内容をファイルに保存します。コマンドを使用する


セット内容

:


$contentModify | Set-Content -Path "path/to/your/file.txt"

このプロセスにより、元のファイルが変更されたコンテンツで上書きされます。

次の手順に従うと、PowerShell を使用してファイル内の文字列を簡単に置換できます。この方法は、ファイル管理タスクを自動化する必要があるシステム管理者や開発者にとって非常に便利です。

💻 Get-Content コマンドを使用してファイルの内容を読み取ります
🔄 Replace メソッドを使用して文字列を置き換えます
💾 Set-Content コマンドを使用して変更をファイルに書き込みます
PowerShellコマンド 説明
コンテンツファイルの取得.txt | ForEach-Object { $_ -replace “old_string”, “new_string” } |セット内容ファイル.txt テキスト ファイル内で出現する古い文字列をすべて新しい文字列に置き換えます。

Select-Stringコマンドを使用する方法

SelectString コマンドを使用して編集中のファイルを表示しているラップトップ画面

を交換するには 文字列 ファイル内で使用する パワーシェル、 コマンド


選択文字列

は特に便利です。ファイル内の特定の文字列を検索し、その文字列を別の文字列に置き換えることができます。

その方法は次のとおりです。

まず、ターミナルを開きます パワーシェル 問題のファイルを変更するために必要な権限があることを確認してください。次に、次のコマンドを使用します。

  • $filePath = "あなたの/file.txtへのパス"
  • $oldString = "置換する文字列"
  • $newString = "新しい文字列"

これら 3 つの変数はそれぞれ、ファイル パス、置換する文字列、新しい文字列を定義します。

次に、使用します コンテンツの取得 ファイルの内容を読み取るには:

  • $fileContent = コンテンツの取得 $filePath

古い文字列を新しい文字列に置き換えるには、次を使用します。 ForEach-Object このような :

  • $updatedContent = $fileContent | ForEach-Object { $_ -replace $oldString, $newString }

ついに、その時が来ました これらの変更を書きます ファイル内:

  • $updatedContent |セットコンテンツ $filePath

これらのいくつかのコマンドのおかげで、PowerShell で次のコマンドを使用してファイル内の文字列を正常に置き換えることができました。 選択文字列

ファイルが大きい場合は、次のようにすることに注意してください。 コンテンツの取得 そして セット内容 時間がかかる場合があります。非常に大きなファイルの場合は、次の方法を使用する方が効率的である可能性があります。 ストリーム または他の最適化手法。

ステップ 1: 置換する文字列を見つける

のために 文字列を置き換える PowerShell ファイルでは、いくつかのメソッドを使用できます。最も一般的な手法の 1 つは、次のコマンドを使用することです。 選択文字列。この方法は効果的であり、実装も簡単です。

最初のステップは、置換する文字列を見つけることです。コマンドを使用する 選択文字列 この検索を実行するには、スクリプトの例を次に示します。



$path = "C:ファイルへのパス.txt"
$oldString = "置換する文字列"

$matches = 選択文字列 -Path $path -Pattern $pattern


必ず交換してください


C:ファイルへのパス.txt

変更するファイルのパスによる、および


チェーンを置き換える

置換したい文字列を入力します。

検索が実行されたら、ファイルの内容を読み取り、出現する文字列を置換し、変更をファイルに書き込む必要があります。



$content = コンテンツ パスの取得 $path
$newString = "新しい文字列"

$newContent = $content -replace $pattern, $newString
$newContent |コンテンツパス $path の設定


このスクリプトでは、


新しいチャンネル

使用する新しい文字列を置き換えます。ファイルの内容がロードされ、文字列が置換され、変更内容がファイルに書き戻されます。

要約すると、この方法では次のコマンドを使用します。 選択文字列 ファイル内の特定の文字列を検索します。次に、この文字列を置換し、加えられた変更を保存します。

ステップ 2: 見つかった文字列を置換する

ファイル内の特定の文字列を検索するには パワーシェル、コマンドを使用できます


選択文字列

。このコマンドを使用すると、文字列の出現を検索し、後続の処理に使用できます。

で文字列を特定した後、


選択文字列

、次のコマンドに置き換えることができます。



$path = "ファイルへのパス.txt"
$oldString = "検索する文字列"
$newString = "新しい文字列"

(Get-Content -Path $path) -replace $oldString, $newString |コンテンツパス $path の設定


従うべき手順は次のとおりです。

  • を指定します。 パス 変数を含むファイルの $パス

  • を定義します 検索する文字列$oldString

  • を定義します 新しいチャンネル$newString

  • 使用 コンテンツの取得

    ファイルの内容を読み取ります。

  • 適用する -交換する

    古い文字列を新しい文字列に置き換えます。

  • 使用 セット内容

    をクリックして、ファイルへの変更を保存します。

このメソッドは、ファイル内に出現する指定された文字列をすべて置き換え、データが効率的に更新されるようにします。

  • 頭の中を最適化すればスコアは突然縮まる! メンタルで10打よくなる「ゴルフ超思考法」 (じっぴコンパクト新書)
    Binding : Taschenbuch, medium : Taschenbuch, ISBN : 4408456314
  • マンガで分かる心療内科 16 うつを軽いうちに改善する方法 (ヤングキングコミックス)
    Binding : Comic, medium : Comic, ISBN : 4785962283
  • 人生を豊かにする声の変え方―「内田式発声法」で、なりたい自分になる!
    Binding : Gebundene Ausgabe, medium : Gebundene Ausgabe, ISBN : 4901465805

Hervé

Comments

Leave a comment

Your comment will be revised by the site if needed.