【问题标题】:Teamcity and batch fileTeamcity 和批处理文件
【发布时间】:2017-04-21 22:26:34
【问题描述】:

我目前正在尝试提取驻留在项目子文件夹中的powershell 脚本。当我的batch 文件运行时,它会尝试在项目中定位文件路径,但这样做没有任何成功。

我首先尝试直接传递 Teamcity 中的子文件夹:

set file = "subFolder\myPowershell.ps1"

我第二次尝试打电话:

set file = %~dp0"subFolder\myPowershell.ps1"

然后我尝试了:

set file = %cd%"subFolder\myPowershell.ps1"

仍然没有成功。如何从batch 文件中获取Teamcity 项目文件夹中此powershell 脚本的路径?

【问题讨论】:

  • %~dp0"subFolder\myPowershell.ps1" 在我看来,引号的位置不正确。你试过"%~dp0subFolder\myPowershell.ps1"吗?
  • set "file=%~dp0subFolder\myPowershell.ps1" 获取变量file 的纯路径,不带引号...
  • @Laf 是的,我尝试在引用中包含%~dp0

标签: batch-file teamcity


【解决方案1】:

这是你需要做的:

set file="%~dp0project sub folder\myPowershell.ps1"

注意%~dp0 已经包含一个反斜杠,因此不需要额外的斜杠。您还会注意到,set 命令中的 = 两侧没有空格,这也是必不可少的。

【讨论】:

  • 这不起作用。我删除了所有的空格,仍然没有。
  • 由于我发布的代码完全正确,问题在于您提供给我们的信息。因此,请发布脚本的其余部分,并附上显示文件/文件夹结构的树。
  • 是的,它确实有效,但使用 teamcity 则无效。说找不到文件。
  • 为什么不使用编辑工具更新问题并提供其余信息。我已经为我能提供的唯一部分提供了解决方案,因为这是您为我提供了足够信息的唯一部分。
【解决方案2】:

想通了。我必须在文件目录前加上 %1 前缀,然后 teamcity 就把它捡起来了。

set file="%1\subFolder\myPowershell.ps1"

感谢大家的宝贵时间!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-15
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多