Batch script to modify .properties file
本问题已经有最佳答案,请猛点这里访问。
我有一个属性文件(server.properties),它如下所示:
IP地址=10.x.x.xservername=名称
还有很多其他的价值观。
假设它位于c:serverserver.properties是否可以使用批处理脚本修改值。
如果我想将servername从"somename"更改为"myname",我该怎么办?我不能用行号,因为它可以随时更改。
这不是使用Windows命令行环境在文件中如何查找和替换文本的副本?
我正试图找出如何替换属性的值。不能用一个词替换另一个词。
谢谢。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @ECHO OFF SETLOCAL SET"sourcedir=C:\106x" ( FOR /f"usebackqdelims=" %%a IN ("%sourcedir%\q25967146.txt") DO ( FOR /f"tokens=1*delims==" %%g IN ("%%a") DO ( IF /i"%%g"=="servername" (ECHO(%%g=%~1 ) ELSE (ECHO(%%a) ) ) )>newfile.txt :: newfile.txt now contains a modified version. :: This line will overwrite the original ECHO(MOVE /y newfile.txt"%sourcedir%\q25967146.txt" GOTO :EOF |
您需要更改
我使用了一个名为
生成newfile.txt
所需的移动命令仅用于测试目的。确认命令正确后,将
上面显示的方法故意创建一个新文件,以便在不损坏原始文件的情况下查看新版本。
请注意,创建新版本时,此版本将删除文件中的所有空行。如果需要,可以克服这一点。
要运行此例程,请使用
此批处理名称"替换文本"
如果替换文本是一个没有空格或其他分隔符的字符串(可能),则可以省略引号。
代码固定-
要替换该文件,请按照说明激活