gpt4 book ai didi

Powershell CMD.exe 和路径中的空格

转载 作者:行者123 更新时间:2023-12-02 23:15:36 25 4
gpt4 key购买 nike

我在使用 cmd.exe 执行命令时遇到问题在 PowerShell 中。问题是命令的路径中有空格。似乎是 PowerShell 的普遍问题。
以下是摘录:

$base_dir = resolve-path ..\  # this path has spaces in it 
$msdeploy = $base_dir\tools\msdeploy\msdeploy.exe

cmd.exe /c $("""$msdeploy"" -verb:sync -source:....")

我需要有到 msdeploy 的路径在持续集成过程中使用脚本时通过变量解析。

由于空格,该命令不会执行。我试图将命令包装在 "" 中(引用)但仍然没有运气。如何格式化 $msdeploy在这种情况下变量?

最佳答案

尝试使用 $() 调用所有内容,如下所示:

$base_dir = resolve-path ..\  # this path has spaces in it 
$msdeploy = $($base_dir)\tools\msdeploy\msdeploy.exe

cmd.exe /c $("$($msdeploy) -verb:sync -source:....")

编辑:我将整个命令移到 $msdeploy 变量中,并通过转义引号来调用 $msdeploy。我找到了 this有类似问题的链接,所以我调整了你的代码以匹配那里的工作。
$base_dir = resolve-path ..\
$msdeploy = $("`"" + $base_dir.Path + "\tools\msdeploy\msdeploy.exe`" -verb:sync -source:....")

cmd.exe /c "`"$msdeploy`""

关于Powershell CMD.exe 和路径中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com