【发布时间】:2020-02-24 03:25:48
【问题描述】:
我正在尝试从 Azure、数据工厂、批处理服务、自定义活动中运行 PowerShell 脚本。我最接近这项工作的是:
powershell powershell -command '$env:AZ_BATCH_TASK_DIR\wd\processInAzure.ps1'
当我运行它时,我收到以下错误消息
At line:1 char:23
+ $env:AZ_BATCH_TASK_DIR\wd\processInAzure.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token '\wd\processInAzure.ps1' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
我已经能够获得 $env:AZ_BATCH_TASK_DIR\wd 的目录列表,并看到该位置存在 processInAzure.ps1。我已经能够写主机“来自 Azure 的你好”,所以我可以看到 powershell 正在工作。我没有得到的是如何使用环境变量引用 ps1 脚本文件。有谁知道让它工作的语法糖吗?
根据建筑师 Jamie 的意见(包括他删除的编辑!!!将编辑放回原处,它直接导致了解决方案),我能够将一些东西放在一起以使其发挥作用。命令行开头的双 powershell 不是错字顺便说一句。这就是最终的工作:
powershell powershell -command ("$env:AZ_BATCH_TASK_DIR" + '\wd\processInAzure.ps1')
以下是无效的:
powershell powershell -command ("$env:AZ_BATCH_TASK_DIR" + "\wd\processInAzure.ps1")
powershell powershell -command ("$env:AZ_BATCH_TASK_DIR\wd\processInAzure.ps1")
powershell -command ("$env:AZ_BATCH_TASK_DIR" + '\wd\processInAzure.ps1')
【问题讨论】:
标签: azure powershell azure-data-factory-2