Как преобразовать путь из 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:\=/%
Другие вопросы по тегам