ivan456
08-01-2023, 05:03
Всем привет.
Подскажите как правильно это закоментировать. Пол дня бьюсь об стену никак не могу понять, тему изучал где какие символы ставить в разных случаях, но нифига не понял.
В моем примере почему то это не хочет работать.
Этот bat cкрипт ищет REG_MULTI_SZ, удаляет ненужноев нем и снова добавляет.
Вот только при добавлении %%windir%%, пишется как просто Windows, а должно быть %C:\Windows%
@Echo On
SetLocal EnableExtensions DisableDelayedExpansion
Set "_k=HKLM\SOFTWARE\testing"
Set "_v=test123"
Set "_s=%%%windir%%%\testing\2.txt"
Set "_d="
For /F "Tokens=2*" %%A In ('Reg Query "%_k%" /V "%_v%"'
) Do If "%%A"=="REG_MULTI_SZ" Set "_d=%%B"
If "%_d%"=="" Exit /B
Set "_d=%_d:\0\0=%"
Set "_m="
For %%A In ("%_d:\0=","%"
) Do Echo %%A|Find /I "%_s%">Nul||Call Set "_m=%%_m%%%%A\0"
If "%_m%"=="" Exit /B
Reg Add "%_k%" /V "%_v%" /T "REG_MULTI_SZ" /D %_m:~,-2% /F>Nul
PS: Просто reg add мне не подходит, так как добавлять надо много разного в один параметр и сидеть сравнивать чего там есть, а чего нет слишком долго и муторно.
А ещё как в конце убрать /0 в этом скрипте?
Должно быть как здесь:
Reg.exe add "HKLM\SOFTWARE\testing" /v "test" /t REG_MULTI_SZ /d "%%windir%%\testing\1.txt\0%%windir%%\testing\2.txt\0%%windir%%\testing\3.txt" /f
Подскажите как правильно это закоментировать. Пол дня бьюсь об стену никак не могу понять, тему изучал где какие символы ставить в разных случаях, но нифига не понял.
В моем примере почему то это не хочет работать.
Этот bat cкрипт ищет REG_MULTI_SZ, удаляет ненужноев нем и снова добавляет.
Вот только при добавлении %%windir%%, пишется как просто Windows, а должно быть %C:\Windows%
@Echo On
SetLocal EnableExtensions DisableDelayedExpansion
Set "_k=HKLM\SOFTWARE\testing"
Set "_v=test123"
Set "_s=%%%windir%%%\testing\2.txt"
Set "_d="
For /F "Tokens=2*" %%A In ('Reg Query "%_k%" /V "%_v%"'
) Do If "%%A"=="REG_MULTI_SZ" Set "_d=%%B"
If "%_d%"=="" Exit /B
Set "_d=%_d:\0\0=%"
Set "_m="
For %%A In ("%_d:\0=","%"
) Do Echo %%A|Find /I "%_s%">Nul||Call Set "_m=%%_m%%%%A\0"
If "%_m%"=="" Exit /B
Reg Add "%_k%" /V "%_v%" /T "REG_MULTI_SZ" /D %_m:~,-2% /F>Nul
PS: Просто reg add мне не подходит, так как добавлять надо много разного в один параметр и сидеть сравнивать чего там есть, а чего нет слишком долго и муторно.
А ещё как в конце убрать /0 в этом скрипте?
Должно быть как здесь:
Reg.exe add "HKLM\SOFTWARE\testing" /v "test" /t REG_MULTI_SZ /d "%%windir%%\testing\1.txt\0%%windir%%\testing\2.txt\0%%windir%%\testing\3.txt" /f