【问题标题】:Call powershell script from another从另一个调用powershell脚本
【发布时间】:2015-01-16 17:40:20
【问题描述】:

我有 2 个 powershell 脚本,一个处理低级 xmfile,另一个读取顶级 xml 文件,从中提取 ID 值,然后尝试调用低级 xml 文件处理脚本,传入 ID。 我首先使用硬编码 ID 开发了低级文件,现在一切正常。 我在被调用文件的最顶部添加了 param($ID)。 然后我尝试从父 xml 脚本调用该文件:

./ChildXmlFile.ps1 "xyz"

这给了我一个错误:

./ChildXmlFile.ps1 未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。

我尝试了正斜杠,反斜杠,最后有和没有'.ps1',每次结果都一样。

有没有办法从父级调用脚本?它们都驻留在磁盘上的同一目录中。我的工作目录,如果你喜欢的话。

非常感谢

【问题讨论】:

    标签: xml powershell


    【解决方案1】:

    你可以像这样点源脚本:

    . .\ChildXmlFile.ps1 "xyz"
    

    【讨论】:

    • 这种工作,但我必须指定子脚本文件的完整路径,正如 Mike Wise 所暗示的那样,但我真的不知道他建议做什么。谢谢大家
    • 以为我会把你放在一边:)
    【解决方案2】:

    Powershell 脚本在出于某种原因被调用时不会继承其父目录的目录 - 毫无疑问是一种安全“功能”。它们从用户的主目录开始。几周前我遇到了这个问题,并通过将目录作为参数传递并对该目录执行“cd”来修复它。我知道这是一个可怕的 hack,仍在寻找一种好方法。

    【讨论】:

      猜你喜欢
      • 2015-07-07
      • 2017-07-12
      • 2011-10-12
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      相关资源
      最近更新 更多