Я обновляю файл свойств, используя командный файл.Я хотел бы знать, могу ли я обновить файл свойств, пропуская и печатая закомментированные строки и пустые строки.У меня есть несколько ключей в файле свойств, которые по умолчанию не имеют никакого значения.Если я сохраняю =
в качестве разделителя, тогда при выполнении echo %%A=%%B
для закомментированных строк я получаю дополнительный =
в конце строки.
Ниже приведен мой пакетный файл:
echo off
Set "Parametervalue=dev"
Set "baseURLvalue=https://prodweb-dev.net/start"
Set "urlvalue=/client/versions-6.0.1.xml"
(for /f "usebackq tokens=1* delims==" %%A IN (
myfile.properties
) do if "%%A" equ "Parameter" (
echo Parameter=%Parametervalue%
) else if "%%A" equ "baseURL" (
echo baseURL=%baseURLvalue%
) else if "%%A" equ "url" (
echo url=%urlvalue%
) else (echo %%A=%%B)
)>temp.properties
ожидаемые обновленные свойства с закомментированными строками и пустыми строками, как в оригинальном файле ниже:
#configuration
#baseURL(mandatory)
baseURL=https://prodweb-dev.net/start
#descriptorurl(mandatory)
#url=/client/versions-6.0.1.xml
url=/client/versions-6.0.1.xml
#Title (optional, new property, default value is "??")
Title=
#ClientParameter (optional, no default value) - parameters which will be passed to startup file and are accessible by the client application as environment variable
Parameter=dev
#BackgroundImage (optional, default Image with Daimler logo)
BackgroundImage=
Ниже получен вывод:
#configuration=
#baseURL(mandatory)=
baseURL=https://prodweb-dev.net/start
#descriptorurl(mandatory) =
#url=/client/versions-6.0.1.xml
url=/client/versions-6.0.1.xml
#Title (optional, new property, default value is "??") =
Title=
#ClientParameter (optional, no default value) - parameters which will be passed to startup file and are accessible by the client application as environment variable=
Parameter=dev
#BackgroundImage (optional, default Image with Daimler logo) =
BackgroundImage=