Мне нужно автоматизировать скучное действие, которое я уже реализовал для OSX.Тем не менее, я застрял в моем "языковом" переводе, потому что я не могу найти способ, основываясь на примере ниже, чтобы у меня было 3 \
в следующей строке:
.. \.. \ .. \ ..
PS: я не смог найти работу "cd -" в CMD .
У меня есть следующая функция, которую я создал:
:: Count the occurrences of a certain char in the given string
:: $~1 (input) String
:: $~2 (char) Char to be found & counted
:count_occurrences
set input=%1
set char=%2
set count=0
for %%a in ("%input:\= " "%") do set /A count+=1
echo. %count%
SET %~3=count
EXIT /B 0
Тем не менее, это возвращает все время 1
.. Однако мне, основываясь на этом примере (https://stackoverflow.com/a/41961590/6093604),, оно должно вернуть3
.
Спасибо за любую помощь!
Редактировать 1 (в основном работает)
Мой код теперь следующий:
:: Count the occurrences of a certain char in the given string
:: $~1 (input) String
:: $~2 (char) Char to be found & counted
:: $~3 (count) The returned value
:count_occurrences
set "input=%~1"
set "char=%~2"
echo. %input%
for %%a in ("%input:\= " "%") do set /A %~3+=1
EXIT /B 0
Какмогу ли я использовать параметр 2 $~2
как символ для подсчета? Потому что, как я сказал в своем комментарии, здесь мы ищем только \
Еще раз спасибо!