2016-08-13 2 views
-3

J'essaie juste de restaurer la sauvegarde SQL à mon serveur de restauration et je l'ai écrit script pour le faire, mais je reçois cette erreur sur ma console PowerShell:système IO DirectoryInfo

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
+0

Eh bien sans montrer un peu de code, il est difficile d'aider, mais je suppose que vous essayez d'ajouter une chaîne à une instance de System.IO.DirectoryInfo – DAXaholic

+0

Vous avez vraiment besoin pour publier votre code qui génère l'erreur. –

Répondre

1

De l'erreur affichée, $dbname est évidemment DirectoryInfo objet. Je suppose que vous l'avez récupéré via Get-Item ou Get-ChildItem

Si vous voulez la propriété LogicalFileName soit le nom du dossier $dbname avec la chaîne "_Log" jointe, faites:

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

Vous pouvez avoir PowerShell convertir implicitement $dbname à une chaîne en le plaçant à l'intérieur à double -quotes (DirectoryInfo.ToString() par défaut sur la propriété Name de toute façon):

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

Vous pouvez utiliser la même façon l'opérateur de format de chaîne -f:

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