如何在MSBuild中的Exec命令中转义引号

Cyb*_*ist 125 msbuild

我正在尝试构建一个MSBuild脚本,将脚本中的网络驱动器映射到驱动器号,但不幸的是,目标文件夹的路径包含一个嵌入式空间.嵌入空间导致映射失败,我不知道是否可以转义路径周围的引号.我尝试过双引号,但是MSBuild不喜欢它(要么是Windows XP不喜欢它).任何人都知道如何编码这个野兽,以便地图有效吗?

<Exec Command="net use x: \\ofmapoly703\c$\program files\ar\iap /user:$(UserID) $(Password)"
WorkingDirectory="c:\"
ContinueOnError="false"
/>
Run Code Online (Sandbox Code Playgroud)

嵌入空间当然发生在"程序文件"中.

vla*_*adr 184

使用&quot;编码所需的双引号net,看看里面Command的属性值:

<Exec Command="net use x: &quot;\\ofmapoly703\c$\program files\ar\iap&quot; /user:$(UserID) $(Password)" 
WorkingDirectory="c:\" 
ContinueOnError="false" 
/> 
Run Code Online (Sandbox Code Playgroud)

  • 当你有`Command ="quot; $(PathWithTrailingBackslash)&quot;"`因为它呈现为`"Path\With\Trailing\Backslash \"`并且`\``是命令行转义序列时,这没有用对于```,所以以下所有参数都搞砸了. (6认同)

MiF*_*vil 77

您可以使用单引号作为命令,例如

  <Exec Command='explorer.exe "$(DestinationDir)"' IgnoreExitCode="true" />
Run Code Online (Sandbox Code Playgroud)

(从MSBuild exec任务无阻塞)