【发布时间】:2021-02-04 13:31:54
【问题描述】:
我有一个小型 Powershell 脚本,可以将文件上传到 Blob 存储。我们的想法是在构建完成后将其作为内联脚本在 Devops 中运行,而不是像现在这样硬编码路径/文件。
如果我在我的计算机上的 Powershell 命令提示符下运行它,它工作正常。
az storage blob upload --% --container-name mycontainer --account-name myaccount --name "File.zip" --file "c:\Projects\File.zip" --sas-token "{my token}"
但是,我想用我的构建管道可以设置的变量交换硬编码的路径+文件。但这里是我还没有弄清楚如何实际使用该变量的地方。
当我尝试在本地运行时,以下内容不起作用。为了测试,我创建了一个变量,然后进行了调用。
// Create variable
New-Variable -Name "TestFile" -Value "c:\projects\File.zip"
(enter)
// Try to upload it
az storage blob upload --% --container-name mycontainer --account-name myaccount --name "File.zip" --file $TestFile --sas-token "{my token}"
结果:
FileOperationError: [WinError 2] 系统找不到文件 指定:'$TestFile'
我假设我需要以不同的方式声明它或通过管道使其工作,但是如何?
【问题讨论】:
-
你是对的@zett42。将 --% 移动到令牌之前(这就是我将它放在那里的原因)解决了这个问题。如果您将其写为回复,我可以将其标记为已解决。
-
我已投票决定将此问题作为重复问题结束。
标签: powershell command-line azure-devops