Svn 包括路径中的空白,Powershell
我正在将Powershell连接到Subversion,我遇到了一个问题,Powershell没有为Subversion完成我的url,因为路径中有一个空间Svn 包括路径中的空白,Powershell,svn,powershell,Svn,Powershell,我正在将Powershell连接到Subversion,我遇到了一个问题,Powershell没有为Subversion完成我的url,因为路径中有一个空间 $Source = C:\Users\'+env:USERNAME+'\Desktop\FileDownloadLocation' $SVNPath = 'http://subversion/svn/MainDirectory/SecondaryDirectory/Directory with a Space/subdirectory/fi
$Source = C:\Users\'+env:USERNAME+'\Desktop\FileDownloadLocation'
$SVNPath = 'http://subversion/svn/MainDirectory/SecondaryDirectory/Directory with a Space/subdirectory/finalLocation'
TortoiseProc.exe /command:checkout /url:$SVNPath /path:$Source /closeend:2
Subversion签出窗口中显示的是:
'http://subversion/svn/MainDirectory/SecondaryDirectory/Directory '
我需要将URL的剩余部分传递给Subversion。在Powershell中有没有一种方法可以做到这一点,在Powershell中,我应该如何在我的URL路径中包含空格以进行Subversion 您还应该能够将变量用引号括起来
TortoiseProc.exe /command:checkout /url:"$SVNPath" /path:"$Source" /closeend:2
我知道这篇文章有点老,但也许这会帮助其他人。潜在的问题可能会产生许多命令行参数,而不仅仅是TortoiseProc.exe 由于某些原因,%20的想法对我不起作用,因此这里有一个替代解决方案。这里的问题是,TortoiseProc.exe(以及许多其他文件)要求一个包含空格的路径用引号括起来。但默认情况下,PowerShell不传递实际的引号字符,只传递其中的字符 解决方案:在“普通”引号中包含转义引号。所以看起来是这样的:
TortoiseProc.exe /command:checkout /url:"`"$SVNPath`"" /path:"`"$Source`"" /closeend:2
请密切注意“转义”内部引号的反勾字符。这将导致这些引号字符作为字符串的一部分进行逐字传递,现在,TortoiseProc.exe将正确处理带有空格的文件路径和URL。在与我的一位好友交谈后,他建议我添加一个%20而不是空格。Subversion会将其视为一个看起来很奇怪的'',但随后它会下载正确的文件/路径。因此,任何其他可能在Powershell,%20而不是“”中遇到此问题的人都为我和subversion工作。我只是快速尝试了一下,但不幸的是,它似乎不是这样工作的。它仍然在空间处被切断。但是,正如我在原始帖子中留下的评论一样,用“%20”代替“”创建目录实际上是可行的。谢谢你的回复!