バッチを使用して、テキストファイルから行内の文字列を変更します

user2536125

テキストファイルがあります(* .pmとして保存されていますが、テキストファイルとして開くことができるため、違いはないと思います)。ファイルの内容は次のようになります。

Header

$VAR1 = {
          'Keywords' => {
                               'X' => '80',
                               'Target_Path' => 'Example_PAth',
                               'Y' => 'File_Path',
                               'X' => '80',
                               'Y' => 'File_Path',
                               'X' => '80',
                               'Y' => 'File_Path',
               sdefkjnhksdf  koijsef ökiljsdf
               sdefkjnhksdf  koijsef ökiljsdf
               sdefkjnhksdf  koijsef ökiljsdf

* .batファイルを使用してExample_PAthExample_PAth_Newに変更したいと思います。

このために私は次のコードを持っています:

@echo off
setlocal disableDelayedExpansion

:Variables
set InputFile=OldFileName.pm
set OutputFile=NewFileName.pm
set "_strFind=Example_PAth"
set "_strInsert=Example_PAth_New"

:Replace
>"%OutputFile%" (
  for /f "usebackq delims=" %%A in ("%InputFile%") do (
    if "%%A" equ "%_strFind%" (echo %_strInsert%) else (echo %%A)
  )

)

問題:結果のファイルは元のファイルと同じです。文字列を正しく読み取っていないと思いますか?または、誰かがコードを修正する方法を知っていますか?

更新: @Squashmanで言及されているように、検索および置換された文字列を変更して、行全体を含めました。検索された文字列に>文字が含まれていない場合は、完全に機能します。>を保持すると、行は正しく検出されますが、空白行に置き換えられます。回避策はありますか?PS:>文字を省略できません。

行動

私は12時間前に与えた推奨事項に従って元のコードを変更し、それが機能することを証明するためにテストしました(OPが10時間前の更新でまだ解決策がないと言った後)。

@echo off
setlocal EnableDelayedExpansion

:Variables
set InputFile=OldFileName.pm
set OutputFile=NewFileName.pm
set "_strFind=Example_PAth"
set "_strInsert=Example_PAth_New"

:Replace
>"%OutputFile%" (
   for /f "usebackq delims=" %%A in ("%InputFile%") do (
      set "line=%%A"
      echo !line:%_strFind%=%_strInsert%!
   )
)

OutputFile:

Header
$VAR1 = {
          'Keywords' => {
                               'X' => '80',
                               'Target_Path' => 'Example_PAth_New',
                               'Y' => 'File_Path',
                               'X' => '80',
                               'Y' => 'File_Path',
                               'X' => '80',
                               'Y' => 'File_Path',
               sdefkjnhksdf  koijsef ökiljsdf
               sdefkjnhksdf  koijsef ökiljsdf
               sdefkjnhksdf  koijsef ökiljsdf

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

大きなテキストファイルからすべての文字列を抽出しますバッチ

分類Dev

テキストファイルの文字列をバッチの変数として使用する

分類Dev

テキストファイルを検索し、バッチファイルを使用して特定の文字列が見つかったときに追加します

分類Dev

テキストファイルを使用して、フォルダ内のバッチファイルの名前を変更します

分類Dev

ファイルからテキストを検索し、バッチを使用して行全体を取得します

分類Dev

バッチスクリプトは、文字列/ファイル名から動的テキストの後のすべてを削除します

分類Dev

バッチファイルを使用して文字列(ファイル名)から特定の部分を抽出します

分類Dev

Pythonを使用してテキストファイルから特定の列の値を変更する

分類Dev

コマンドラインを使用して、テキストファイルの行を他のテキストファイルから変更します

分類Dev

バッチスクリプトのファイル名から文字列を抽出して置換します

分類Dev

バッチ:ファイルパスを使用して、テキストファイルの末尾から改行を削除します

分類Dev

バッチスクリプトを使用して、番号変更ファイルの名前を変更します

分類Dev

バッチまたはPowerShellを使用してテキストファイルから改行を削除する方法

分類Dev

バッチ:テキストファイルからすべての空白を削除しますか?

分類Dev

matplotlibを使用してプロットするためにテキストファイルから文字列を変換します

分類Dev

VBAを使用してURLのテキストファイルから文字列を読み取ります

分類Dev

バッチスクリプトを使用して、フォルダからゼロ以外のテキストファイルのみを開きます

分類Dev

バッチファイルを使用して、xmlから特定のタグの間に文字列を出力します

分類Dev

バッチファイルを使用して、1行の文字列から複数の値を抽出します

分類Dev

バッチファイル-.txtファイルから特定のテキストを抽出します

分類Dev

バッチファイルを使用して、ファイル内の文字列を検索して名前を変更します

分類Dev

バッチファイルを使用して、.savファイル(.txt形式で開きます)内の数行のテキストを自動的に検索して変更するにはどうすればよいですか?

分類Dev

バッチ内の異なるテキスト位置でファイルの名前を変更します

分類Dev

テキストファイルの一部を使用し、バッチを使用して編集します

分類Dev

バッチを使用して、テキストファイル(空の行を含む)から最後の行を削除します

分類Dev

バッチファイルを使用して、パターンを含む変数とその後の変数から文字列の一部を削除します

分類Dev

バッチ:ファイル名から特殊文字を変更します(éèà...)

分類Dev

テキストファイルの文字列を使用して画像をカールし、名前を変更します

分類Dev

Windowsバッチファイルを使用してローカル変数を含むテキストファイルの文字列を解析するにはどうすればよいですか?

Related 関連記事

  1. 1

    大きなテキストファイルからすべての文字列を抽出しますバッチ

  2. 2

    テキストファイルの文字列をバッチの変数として使用する

  3. 3

    テキストファイルを検索し、バッチファイルを使用して特定の文字列が見つかったときに追加します

  4. 4

    テキストファイルを使用して、フォルダ内のバッチファイルの名前を変更します

  5. 5

    ファイルからテキストを検索し、バッチを使用して行全体を取得します

  6. 6

    バッチスクリプトは、文字列/ファイル名から動的テキストの後のすべてを削除します

  7. 7

    バッチファイルを使用して文字列(ファイル名)から特定の部分を抽出します

  8. 8

    Pythonを使用してテキストファイルから特定の列の値を変更する

  9. 9

    コマンドラインを使用して、テキストファイルの行を他のテキストファイルから変更します

  10. 10

    バッチスクリプトのファイル名から文字列を抽出して置換します

  11. 11

    バッチ:ファイルパスを使用して、テキストファイルの末尾から改行を削除します

  12. 12

    バッチスクリプトを使用して、番号変更ファイルの名前を変更します

  13. 13

    バッチまたはPowerShellを使用してテキストファイルから改行を削除する方法

  14. 14

    バッチ:テキストファイルからすべての空白を削除しますか?

  15. 15

    matplotlibを使用してプロットするためにテキストファイルから文字列を変換します

  16. 16

    VBAを使用してURLのテキストファイルから文字列を読み取ります

  17. 17

    バッチスクリプトを使用して、フォルダからゼロ以外のテキストファイルのみを開きます

  18. 18

    バッチファイルを使用して、xmlから特定のタグの間に文字列を出力します

  19. 19

    バッチファイルを使用して、1行の文字列から複数の値を抽出します

  20. 20

    バッチファイル-.txtファイルから特定のテキストを抽出します

  21. 21

    バッチファイルを使用して、ファイル内の文字列を検索して名前を変更します

  22. 22

    バッチファイルを使用して、.savファイル(.txt形式で開きます)内の数行のテキストを自動的に検索して変更するにはどうすればよいですか?

  23. 23

    バッチ内の異なるテキスト位置でファイルの名前を変更します

  24. 24

    テキストファイルの一部を使用し、バッチを使用して編集します

  25. 25

    バッチを使用して、テキストファイル(空の行を含む)から最後の行を削除します

  26. 26

    バッチファイルを使用して、パターンを含む変数とその後の変数から文字列の一部を削除します

  27. 27

    バッチ:ファイル名から特殊文字を変更します(éèà...)

  28. 28

    テキストファイルの文字列を使用して画像をカールし、名前を変更します

  29. 29

    Windowsバッチファイルを使用してローカル変数を含むテキストファイルの文字列を解析するにはどうすればよいですか?

ホットタグ

アーカイブ