【问题标题】:How to reevaluate a powershell variable fetched from a file如何重新评估从文件中获取的 powershell 变量
【发布时间】:2012-06-01 18:42:55
【问题描述】:

我正在使用 CSV 文件和 Import-Csv 来获取一堆自定义别名和路径。我这样做是为了让我可以运行,并且路径将通过 Invoke-Item 执行。

我也可以在命令外壳窗口中执行此操作,以使用以下方法打开配置文件 ps1:Invoke-Item $PROFILE - 然后在记事本中启动配置文件 ps1。

但我想使用我的运行功能。所以我在 CSV 中指定别名“profile”以及路径为“$PROFILE”,然后应该调用“Invoke-Item $profile”——除非我通过 CSV 使用它,$profile 仍然是一个文本并且不得到评估。

有没有办法重新评估字符串中的变量?

【问题讨论】:

    标签: powershell csv profile


    【解决方案1】:

    您可以使用Invoke-Expression cmdlet(或其别名“iex”)对其进行评估:

    Invoke-Item (iex "$profile")
    

    【讨论】:

    • 很好 - 不过我有一个后续问题。在一种情况下,我需要调用 $profile 变量 - IEX 为我解决了这个问题,这样我就可以对 $profile 进行评估。现在我需要运行程序的其他情况 - 所以我提供了一个路径。现在我添加了 iex - 如果路径包含空格,则路径失败,你知道为什么吗? "术语 'C:\Program' 未被识别为 cmdlet、函数、脚本文件的名称"
    • 尝试用另一组引号将路径括起来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 2018-10-06
    相关资源
    最近更新 更多