2011-02-10 9 views
3

svnリポジトリへのURLが必要なsvnsyncのバッチファイルを作成しようとしています。残りのバッチファイルは%〜dp0を使ってバッチファイルのパスを取得しますが、svnsyncでは動作しません。DOSパスをバッチファイルのファイルスキームURIに変換する方法

svnsync(file:/// c:/ backup/repo)に適したuriにパス(例:%〜dp0repo、c:\ backup \ repoに展開)を変換する最良の方法は何ですか?

理想的には、パスにもスペースにも対応できないので、パスからURLに変換するために明示的な文字の置換を使わなくてもかまいませんが、それが唯一の方法であれば。

ありがとうございます!あなたのレシピから

答えて

4

さは、あなただけに必要と思われる:

  • はここで行く前

にスティックfile:////

  • \を置き換えます

    set DOSPATH=%~dp0repo 
    set URI=file:///%DOSPATH:\=/% 
    
  • +0

    とTOをファイル/パス名の特殊文字に対して安全であることset "DOSPATH =%dp0repo" ... "URI = file://%DOSPATH:\ = /%"を設定してください。 – jeb

    +0

    @jeb:いいえ、上記の2行には引用符は必要ありません。 – bobbogo

    +2

    @bobbogo:多くの場合、ソリューションは機能しますが、C:\ Documents&Settingsで失敗します – jeb

    関連する問題