系统 IO 目录信息

System IO DirectoryInfo

我只是尝试将 SQL 备份恢复到我的恢复服务器,我编写了脚本来执行此操作,但我在 PowerShell 控制台上收到此错误:

Method invocation failed because [System.IO.DirectoryInfo] does not contain a method named 'op_Addition'.
At line:39 char:1
+ $dbRestoreLog.LogicalFileName = $dbname + "_Log"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (op_Addition:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

从显示的错误来看,$dbname 显然是一个 DirectoryInfo 对象。

我猜你是通过 Get-ItemGet-ChildItem 检索到的。

如果您希望 LogicalFileName 属性 成为 $dbname 文件夹的名称并附加字符串 "_Log",请执行:

$dbRestoreLog.LogicalFileName = $dbname.Name + "_Log"

或者让 PowerShell 将 $dbname 放在双引号内隐式转换为字符串(DirectoryInfo.ToString() 默认为 Name 属性):

$dbRestoreLog.LogicalFileName = "$dbname" + "_Log"

您可以类似地使用 -f 字符串格式运算符:

$dbRestoreLog.LogicalFileName = '{0}_Log' -f $dbname