Как преобразовать путь из DOS в URI схемы файла в пакетном файле
Я пытаюсь написать командный файл для svnsync, который нуждается в URL -адресах хранилищ SVN. Остальная часть пакетного файла использует% ~ dp0 для получения пути к пакетному файлу, но это не работает с svnsync.
Каков наилучший способ преобразовать путь (скажем,% ~ dp0repo, который расширяется до c: \ backup \ repo) в uri, подходящий для svnsync (file: /// c: / backup / repo)?
В идеале он мог бы обрабатывать пробелы и то, что не в пути, поэтому я бы предпочел избегать использования какой-либо явной замены символов для преобразования из пути в URL - но если это единственный способ, ну да ладно.
Спасибо!
1 ответ
Решение
Из вашего рецепта кажется, вам нужно только:
- замещать
\
с/
- Придерживаться
file:///
на передней
Вот так:
set DOSPATH=%~dp0repo
set URI=file:///%DOSPATH:\=/%