【问题标题】:System IO DirectoryInfo [closed]系统 IO DirectoryInfo [关闭]
【发布时间】:2016-08-13 12:09:02
【问题描述】:

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

方法调用失败,因为 [System.IO.DirectoryInfo] 不包含名为“op_Addition”的方法。
在行:39 字符:1
+ $dbRestoreLog.LogicalFileName = $dbname + "_Log"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (op_Addition:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

【问题讨论】:

  • 好吧,如果不显示一些代码,很难提供帮助,但我猜您正在尝试将字符串添加到 System.IO.DirectoryInfo 的实例中
  • 您确实需要发布产生错误的代码。

标签: powershell database-restore


【解决方案1】:

从显示的错误来看,$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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 2010-11-19
    • 2012-06-10
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多