【问题标题】:writing in a file using command from windows command prompt?使用 Windows 命令提示符中的命令写入文件?
【发布时间】:2016-07-08 21:38:42
【问题描述】:

我正在我的 Windows 7 系统上安装产品,我需要在一个文本文件中搜索一行,在组件文件夹中按名称 IRU_install.properties 在那里我必须搜索一行 licenseType=LICR 并且需要在属性文件中找到该行之后附加一行“licenseAccepted=9”。我不想提示用户,因为安装需要通过批处理脚本和静默安装过程。

【问题讨论】:

  • for /f 应该很容易。

标签: batch-file command-line-interface


【解决方案1】:

您可以使用findstr 命令在文件中查找文本。请参阅下面的示例:

findstr /m "licenseType=LICR" IRU_INSTALL.properties
if %errorlevel%==0 (
echo Line found!
)

这将查找指定文件中指定的字符串。 /m 开关告诉命令仅在匹配时打印文件名。使用findstr /?了解更多信息。

至于附加文本,这在 Batch 中可能非常困难,但可以做到。

见以下代码:

@ECHO OFF
(
  FOR /F "tokens=*" %%A IN (IRU_install.properties) DO (
    ECHO %%A
    IF "%%A" EQU "licenseType=LICR" (
      ECHO licenseAccepted=9
    )
  )
) >output.txt
move /y output.txt IRU_install.properties

它的作用是使用FOR 命令遍历文件中的行,如果当前行等于所需行,则将许可接受行输出到“output.txt”文件。然后将其中的所有文本移动到.properties 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-08
    • 2017-06-20
    • 1970-01-01
    • 2012-02-28
    • 2017-10-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    相关资源
    最近更新 更多