【发布时间】:2011-04-27 13:49:51
【问题描述】:
我有一个脚本,它需要 3 个强制输入参数,用于运行 tdpsql 的备份命令。
- 类型(FULL、DIFF 或 LOG)
- SQLServer 实例名称
- 数据库(SYSTEM、ALL、)
在 powershell 脚本中,我有以下行
$cmd = "C:\Progra~1\Tivoli\TSM\TDPSql\tdpsqlc.exe backup " + $idatabase + " " + $action + " " + $parameter + " /LOGFILE=" + $logdir + $logfile + "" $tdpsqlexe - The tdpsqlc exe.
$idatabase - Database name
$action = FULL\DIFF\LOG
$parameter = /sqlserver=TCP:" + $sqlserverinstance + " /SQLAUTH=INT /TSMOPTFile='" + $dsmoptfilename + "' /EXCLUDEDB=" + $exclude
& $cmd
当我回显命令时,它会报告我使用 powershell 命令行运行它的内容,但是当我尝试使用 & 从 Powershell 运行它时,它会失败并显示以下内容
术语
C:\Progra~1\Tivoli\TSM\TDPSql\tdpsqlc.exe 备份主 FULL /sqlserver=TCP: /SQLAUT H=INT /TSMOPTFile=C:\Progra~1\Tivoli\TSM\TDPSql\dsm.opt /EXCLUDEDB=tempdb /LOGFILE=
<logfile>不被识别为一个名称 cmdlet、函数、脚本文件或 可运行的程序。检查拼写 名称,或者如果包含路径, 验证路径是否正确,并且 再试一次。在 TDPSQLBackup.ps1:166 字符:6 + & > test2.txt + 类别信息:ObjectNotFound: (C:\Progra~1\Tiv...forsqlimran.txt:String) [],CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
任何帮助将不胜感激。
【问题讨论】:
标签: powershell