如何在批处理文件中将 DOS 路径转换为文件方案 URI

发布于 2024-10-16 20:22:32 字数 288 浏览 4 评论 0原文

我正在尝试为 svnsync 编写一个批处理文件,它需要 svn 存储库的 url。批处理文件的其余部分使用 %~dp0 来获取批处理文件的路径,但这不适用于 svnsync。

将路径(例如 %~dp0repo,扩展为 c:\backup\repo)转换为适合 svnsync 的 uri (file:///c:/backup/repo) 的最佳方法是什么?

理想情况下,它能够处理空格以及路径中没有的内容,所以我宁愿避免使用一些显式字符替换来从路径转换为 ​​URL ——但如果这是唯一的方法,哦,好吧。

谢谢!

I'm trying to write a batch file for svnsync, which needs urls to svn repositories. The rest of the batch file uses %~dp0 to get the path of the batch file, but that doesn't work with svnsync.

What is the best way to convert a path (say %~dp0repo, which gets expanded to c:\backup\repo) to a uri suitable for svnsync (file:///c:/backup/repo)?

Ideally it would be able to handle spaces and what not in the path too, so I'd prefer avoid having to use some explicit character replacement to convert from path to URL -- but if that's the only way, oh well.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

々眼睛长脚气 2024-10-23 20:22:32

从你的食谱看来,你只需要:

  • \ 替换为 /
  • file:/// 放在前面

我们开始:

set DOSPATH=%~dp0repo
set URI=file:///%DOSPATH:\=/%

From your recipe is seems you only need to:

  • Replace \ with /
  • Stick file:/// on the front

Here we go:

set DOSPATH=%~dp0repo
set URI=file:///%DOSPATH:\=/%
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文