Я пытаюсь заменить ~
на %HOME%
в пакетном скрипте. Это то, что я до сих пор:cmd строка замена специального символа
@echo off
setlocal enabledelayedexpansion
set str=%*
set replacement=%HOME%
set str=%str:~=!replacement!%
echo %str%
Это не работает, как я ожидаю, вероятно, потому, что мне нужно, чтобы избежать тильды ~
в некотором роде.
Когда я убегаю с ^
, str
не изменился. Без выхода str
- это строка str:~=<my_home_path>
.
Как я могу изменить "~/work/my_folder"
на "C:/Users/login/work/my_folder"
?
Зная партию, длина кода, используемого для решения этой проблемы не стоит. Можно ли изменить знак на что-то еще? –
Знаете ли вы решение, даже длинное? Мне нужно это, чтобы вызвать пакетные скрипты из инструментов GNU, которые настаивают на использовании '~' в путях (даже если я его прописал). – Gauthier
Нет, и я нахожусь на моем телефоне в данный момент, но я уверен, что когда дбэнем просыпается, он ответит. –