Итак, позвольте мне объяснить, как работает подстановка.
set "var=This is a line with spaces"
set "var=%var: =+%"
echo %var%
во втором set
мы снова set var
до %var%
, но мы используем подстановку пробелов.Все после :
до =
является функцией поиска, а все после =
до %
является функцией замены.Таким образом, %var: =+%
означает найти все пространство и заменить на +
Следовательно, результатом вышеупомянутого кода будет:
This+is+a+line+with+spaces
Очевидно, что переменной можно манипулировать несколько раз:
set "var=This is a line with spaces"
set "var=%var: =+%"
set "var=%var:spaces=pluses%
echo %var%
вы также можете использовать подстановку для сравнения без подстановки, используя set
:
set "var=This is a line with spaces"
if /i "%var: =+%"=="This+is+a+line+with+spaces" echo Matched!
Я предлагаю вам прочитать справку, запустив set /?
из cmdline.