Я хотел бы установить переменные из пар имя-значение в свойствах.В файле свойств есть # для комментариев
==== пример входного файла =====
#This is a comment
### Another comment
appNames=HelloWorldApp
targetServer=serverABC
DEV.key1=value1
TEST.key2=value2
========= У меня 2 вопроса
1)
C:\temp\dos>for /f "delims=" %i in (test.properties) do @set %i
Environment variable #This is a not defined
Environment variable ### Another not defined
Переменные установлены, но я бы хотел, чтобы комментарии игнорировались.Я хотел бы сделать это с помощью одной строки кода, но вместо этого получить.
for /f "delims=" %i in (test.properties) do @echo %i | find "#">nul || @set %i
find: unable to access "#": The system cannot find the file specified.
The process tried to write to a nonexistent pipe.
Environment variable #This is a not defined
find: unable to access "#": The system cannot find the file specified.
The process tried to write to a nonexistent pipe.
2) Я хотел бы, чтобы этот файл свойств был передан в качестве аргумента пакетному сценарию. Содержание теста.bat файл
set propFilePathAndName=%1
for /f "delims=" %i in (%propFilePathAndName%) do echo %i
output
C:\temp\dos>set propFilePathAndName=/temp/dos/test.properties
propFilePathAndNamei was unexpected at this time.
Если я запускаю содержимое этого файла по одной строке за раз, это работает.Что я делаю неправильно?Заранее спасибо