[解決済み] Windowsのコマンドライン環境を使って、ファイル内のテキストを検索・置換するにはどうすればよいですか?
2022-03-17 20:18:45
質問
Windowsのコマンドライン環境を使ってバッチファイルのスクリプトを書いているのですが、ファイル内のあるテキスト(例:"FOO")を別のテキスト(例:"BAR")に変更したいのです。一番簡単な方法は何でしょうか?何か内蔵の関数がありますか?
どのように解決するのですか?
多くの回答が正しい方向性を示してくれましたが、どれも私に適していなかったので、私の解決策を投稿します。
私はWindows7を使用しており、PowerShellが内蔵されています。以下は、ファイル内のテキストのすべてのインスタンスを検索/置換するために私が使用したスクリプトです。
powershell -Command "(gc myFile.txt) -replace 'foo', 'bar' | Out-File -encoding ASCII myFile.txt"
説明すると
-
powershell
Windows 7 に含まれる powershell.exe を起動します。 -
-Command "... "
は、実行するコマンドを含む powershell.exe のコマンドライン引数です。 -
(gc myFile.txt)
の内容を読み取ります。myFile.txt
(gc
の略称です。Get-Content
コマンド) -
-replace 'foo', 'bar'
を置き換えるためにreplaceコマンドを実行するだけです。foo
でbar
-
| Out-File myFile.txt
は出力をファイルにパイプします。myFile.txt
-
-encoding ASCII
コメントで指摘されているように、出力ファイルをユニコードに転記することができない
Powershell.exeはすでにPATH文の一部になっているはずですが、そうでない場合は追加することができます。私のマシンでは、以下の場所にあります。
C:\WINDOWS\system32\WindowsPowerShell\v1.0
更新情報
最近のWindowsシステムにはPowerShellが組み込まれていて、これを利用して直接アクセスすることができるようです。
(Get-Content myFile.txt) -replace 'foo', 'bar' | Out-File -encoding ASCII myFile.txt
関連
-
[解決済み] Windowsのコマンドラインに'which'に相当するものはありますか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] N日以上前のファイルを削除するバッチファイル
-
[解決済み] Bashコマンドからテキストファイルの内部を検索・置換する
-
[解決済み] Windowsのコマンドラインで、現在の日付/時刻をファイル/フォルダー名で使用するために適切な形式で取得するにはどうすればよいですか?
-
[解決済み] Windowsでコマンドラインから空のファイルを作成するには?
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】Windowsのバッチファイルを使用して、テキストファイルの各行をループする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] invisible.vbsでBATファイルをバックグラウンドで実行するが、停止する方法は?
-
[解決済み] Sudoが見つかりません。npm install を試しています。
-
[解決済み] HKEY_LOCAL_MACHINE SOFTWARE ◇Microsoft ◇Cryptography ◇MachineGuid ◇はユニークですか?
-
[解決済み] WindowsタスクスケジューラでVBScriptが実行されない
-
[解決済み] コマンドプロンプト「Net View System Error 6118」[終了しました]。
-
[解決済み] mingw-w64スレッド:PosixとWin32の比較
-
[解決済み] ファイルパスの前に付ける「୧⃛(๑⃙⃘◡̈๑⃙⃘)୨⃛」は何ですか?
-
[解決済み] Windows用の堅牢で最小限のインストーラーを作成するには?[クローズド]
-
[解決済み] Windows (10)にPythonがインストールされているかどうかをテストし、インストールされていない場合はexeを実行してインストールするにはどうすればよいですか?
-
[解決済み] Windows 7 - 'make'が内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されない