Сейчас я начинаю изучать командный файл, потому что мне нужно использовать его, чтобы собрать некоторый путь к файлу в Windows для использования с R. Проблема, с которой я столкнулся, заключается в следующем.
chcp 65001
@echo %~dp0% > root_path.txt
с помощью приведенного выше кода я могу написать текстовый файл с расположением командного файла, но мне нужно заменить все «\» в пути на «/». Как я могу это сделать? Я пытался сделать как
chcp 65001
@echo %~dp0:\=/% > root_path.txt
но это не работает, я пробовал использовать set
и заменить, но тоже не получилось.
Вы не можете манипулировать %0
напрямую, потому что это специальная переменная, которая не заканчивается на %
. Если вы хотите манипулировать строками с переменной в стиле аргумента, вам придется сначала сохранить значение в обычной переменной, а затем манипулировать этой новой переменной.
chcp 65001
set "script_path=%~dp0"
>root_path.txt echo %script_path:\=/%
Кроме того, я переместил часть >root_path.txt
в начало строки на случай, если вас беспокоят конечные пробелы в содержимом root_path.txt
.
Вы можете просто установить для переменной новое значение. set "script_path=%script_path:\=/%"
просто небольшой вопрос, если я хочу заменить и сохранить изменения в script_path, как я могу это сделать?