首页 > 解决方案 > 在脚本powershell中运行命令dos

问题描述

我刚开始用 powershell 编程,所以我需要帮助。我在变量中声明了这个命令:

$Command_line="sqlcmd -S $SName -U $UName -P $Password -d $DbName -I -i $File"

我想执行这个命令。我尝试使用下面的代码,但它不起作用:

        Invoke-Expression $Command_line
        # utilisation de son alias
        iex $Command_line
        # utilisation de l'opérateur CALL 
        &$Command_line
        # utilsation de l'opérateur dot-sourced
        .$Command_line
        # On executant la variable par $ExecutionContext
        $ExecutionContext.InvokeCommand.InvokeScript($Command_line)

我也试过这个:

#Start-Process "$Command_line"

和:

$Command_line= "cmd.exe /C ""sqlcmd -S $SName -U $UName -P $Password -d $DbName -I -i $File"
            writeLog $logFile "Execution de la commande $Command_line" #Affichage de la commande


            #$NomExe = "cmd.exe"
            #$WorkingDir = "C:\"

            #Lancement de l'exe
            #start-process -FilePath $NomExe -ArgumentList $Command_line -workingdirectory $WorkingDir

但是,我收到此链接所示的错误。

标签: powershell

解决方案


这就是您需要做的所有事情:

sqlcmd -S $SName -U $UName -P $Password -d $DbName -I -i $File

您不需要带引号的字符串或任何花哨的命令。只需使用命令行。

由于您在 PowerShell 中,我还建议您可以使用 SQLPS 模块。


推荐阅读