使用Windows命令提示符下的命令写入文件?

时间:2016-07-08 13:09:52

标签: batch-file command-line-interface

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

1 个答案:

答案 0 :(得分:1)

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

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

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

至于附加文本,批处理可能会非常困难,但可以这样做。

见下面的代码:

@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文件。