Windows 是否可以在记事本+;中自动替换文本+;从命令行?

Windows 是否可以在记事本+;中自动替换文本+;从命令行?,windows,replace,command-line,notepad++,Windows,Replace,Command Line,Notepad++,我想使用Notepad++查找并替换文本文件中的字符串,我想从命令行自动执行此操作 我想将文本文件mytextfile.txt中出现的所有“userid=”替换为“userid=123456” 我该怎么做?N++是一个编辑工具,而不是一个文件处理实用程序。一个稍微可行的解决方案是提供一个宏的名称,以便在打开文件时立即运行。您可以通过3个步骤完成: 记录执行替换的宏 从命令行打开文件 执行宏 要录制宏: 宏>开始录制 搜索>重新定位(或Ctrl+H) 查找:userid=\d*,替换为:useri

我想使用Notepad++查找并替换文本文件中的字符串,我想从命令行自动执行此操作

我想将文本文件mytextfile.txt中出现的所有“userid=”替换为“userid=123456”


我该怎么做?

N++是一个编辑工具,而不是一个文件处理实用程序。一个稍微可行的解决方案是提供一个宏的名称,以便在打开文件时立即运行。

您可以通过3个步骤完成:

  • 记录执行替换的宏
  • 从命令行打开文件
  • 执行宏
  • 要录制宏

  • 宏>开始录制
  • 搜索>重新定位(或
    Ctrl+H
  • 查找:
    userid=\d*
    ,替换为:
    userid=123456
    ,然后选中“常规表达式”
  • 单击“全部替换”(或
    Alt+A
  • 宏>停止录制
  • 宏>保存当前记录器宏
  • 要从命令行打开

    运行
    mytextfile.txt
    。例如,在Windows 64位中:

    "C:\Program Files (x86)\Notepad++\notepad++.exe" mytextfile.txt
    
    要执行宏

    转到“宏”菜单并选择以前录制的宏


    解决问题的更好方法是使用Perl一行程序

  • 安装Perl脚本语言
  • 运行以下命令
  • perl-i.bak-pe's/userid=\d*/userid=123456/g'mytextfile.txt

    此命令将复制备份中的文件
    mytextfile.txt.bak
    ,并替换所有出现的“userid”

    关于Perl one liner,这是一个很棒的页面,其中包含一些提示:

    干杯