首页 > 解决方案 > 不使用 $($var) 语法将变量附加到字符串

问题描述

我正在尝试从 SQL Server 代理任务执行最基本的复制项,但是当我使用以下格式的子表达式语句时它会失败:$($var)由于$()语法。更多信息,在这里: https ://dba.stackexchange.com/questions/58669/sql-agent-powershell-step-syntax-error

我根本不知道 PowerShell,但我从谷歌上得到了这个:

$Datetime = get-date -format "yyyy-MM-dd HHmmss"
Copy-Item -Path "F:\Grange\PROD\Gwineupd.csv" -Destination "F:\Grange\PROD\Archive\Gwineupd $($Datetime).csv"

我需要用不使用该格式的东西替换 $($Datetime) ......这可能吗?

标签: powershell

解决方案


尝试预先构建文件名,如下所示:

$Datetime = get-date -format "yyyy-MM-dd HHmmss"
$destination = "F:\Grange\PROD\Archive\Gwineupd{0}.csv" -f $Datetime
Copy-Item -Path "F:\Grange\PROD\Gwineupd.csv" -Destination $destination

推荐阅读