Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 包括路径中的空白,Powershell_Svn_Powershell - Fatal编程技术网

Svn 包括路径中的空白,Powershell

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

我正在将Powershell连接到Subversion,我遇到了一个问题,Powershell没有为Subversion完成我的url,因为路径中有一个空间

$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”代替“”创建目录实际上是可行的。谢谢你的回复!