我有一个 Powershell 脚本执行下面的代码。变量值被很好地传递到源和目标,但是,发送到 --include-pattern 的变量值不起作用。关于是否有可能将变量发送到标志或如何配置它的任何想法?
谢谢。
$path = Read-Host -Prompt 'Input backup copy destination'
$sas = Read-Host -Prompt 'Input your sas file name'
$Pattern = Read-Host -Prompt 'Input the Backup pattern name'
$content = Get-Content $sas
G:\Installations\azcopy_windows_amd64_10.16.0\azcopy.exe sync $content $path --delete-destination=true --include-pattern=$Pattern
我相信您
--include-pattern
需要被“引用”。考虑到您正在接受任意输入,这可能特别重要。另请记住,在 PowerShell 中使用引号时,“单引号”的行为与“双引号”不同,尤其是在涉及字符串插值时。
根据您从原始代码中简化示例的程度,您也可能会遇到插值问题。对于任何动态构造的命令,请注意您可能必须确保在正确的位置使用正确的引号,并且
$variables
在它们位于字符串中间时正确转义。这个版本应该可以工作,即使它被嵌入到一个更大、更复杂、更动态的脚本中: