megaloman
С тем скриптом нет возможности передавать такие" значения.
Если на выходе делать батник то он пойдет т.к. мы передаем start /w без специальных символов.
В случае если на выходе иметь конфиг для 7z sfx то нам нужно передать слово с символом RunProgram=" и скрипт не работает.
С прошлым скриптом все получается.
Собрал таким образом, вроде бы работает:
Код:

@Echo Off
cls
Set "FileIn=run.txt"
Set "Fsprav=setup.ini"
Set "WordIn=RunProgram=""
Set "WordIn_=RunProgram=""
>nul 2>&1 Find "=%WordIn%" "%FileIn%" &&(Echo File "%FileIn%" has already been processed &Exit /B)
>nul 2>&1 Find "=%WordIn_%" "%FileIn%" &&(Echo File "%FileIn%" has already been processed &Exit /B)
>"%FileIn%.tmp" (FOR /F "usebackq tokens=1* delims==" %%i In ("%FileIn%") DO (
If "%%j"=="" (Echo %%i
) Else (
Set "WordAdd=%WordIn%"
Echo %%j|>nul 2>nul FindStr /B "_"&&Set "WordAdd=%WordIn_%"
<nul Call Set /P Str=%%i=%%WordAdd%%
FindStr /B /I "%%j " "%Fsprav%" ||Echo %%j
)
))
>nul Move /Y "%FileIn%.tmp" "%FileIn%"
Set /A N=1000000
FOR /F "usebackq tokens=1* delims==" %%i In ("%FileIn%") DO (
Call Set /A N+=1
Set "Name=%%i"
If "%%j"=="" (Call Set @@@%%N%%=%%i) Else (Call Set @@@%%N%%=%%j)
)
>"%FileIn%" (FOR /F "usebackq tokens=1* delims==" %%i In (`Set "@@@"`) DO Echo %%j)
Exit /B
В данном случае на выходе будет конфиг для сборки 7z sfx
команды идут в таком порядке
RunProgram="имя-установщика.exe -y"
осталось допилить начало и конец
Спасибо за помощь !!!!
P.S Мне на самом верху рожденного файла нужно добавить 4 строчки не затрагивая сам текст
первую я добавляю так:
Код:

powershell "Get-ChildItem run.txt | ForEach-Object { $f=$_ | Get-Content -ReadCount 0; $f[0]=';!@Install@!UTF-8!'; Set-Content $_.FullName $f }"
Но когда я начинаю добавлять вторую третью -ReadCount 0; $f[1]='; -ReadCount 0; $f[2]='; то строки переписываются.
Как этого избежать?
Первая строка в обязательном порядке должна быть на самом верху, а остальные три можно подсунуть в конец списка...