Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell脚本"&&引用&引用&&&引用&引用||&引用;操作员_Powershell - Fatal编程技术网

PowerShell脚本"&&引用&引用&&&引用&引用||&引用;操作员

PowerShell脚本"&&引用&引用&&&引用&引用||&引用;操作员,powershell,Powershell,我不熟悉PowerShell脚本。我的任务是理解PowerShell脚本正在做什么 我被困在下面的线路上: & $basePath\CPAU.exe -u $($sqlUser.UserName) -p $(ConvertTo-UnsecureString $sqlUser.Password) -ex "cmd /c (sqlcmd $($sqlArgs -join ' ') > $outputFile && echo TRUE > SUCCESS) || e

我不熟悉PowerShell脚本。我的任务是理解PowerShell脚本正在做什么

我被困在下面的线路上:

& $basePath\CPAU.exe -u $($sqlUser.UserName) -p $(ConvertTo-UnsecureString $sqlUser.Password) -ex "cmd /c (sqlcmd $($sqlArgs -join ' ') > $outputFile && echo TRUE > SUCCESS) || echo TRUE > FAILURE" -wait -nowarn -hide
感觉脚本正在尝试执行某种sql命令。但是,我不确定是否启动“&”符号

此外,CPAU.exe是否可以是basepath中的外部文件?那么
-p
-u
-ex
执行什么

下一行:

if (!(Test-Path .\SUCCESS))
{
    #some more code
}

在上面的if语句中,
\SUCCESS
是什么意思?
测试路径
是否在某种路径上运行以测试它是否存在?

&
是PowerShell,它“运行命令、脚本或脚本块”。在您的情况下,它正在运行外部命令
CPAU.exe
,该命令位于
$basePath
中,参数为
-u
-p
-ex
-wait
-nowarn
-hide
。该命令运行另一个命令(参数
-ex
的参数):

上面使用
cmd.exe
(Windows命令提示符)运行
sqlcmd$($sqlArgs-join“”)
,将其输出重定向到文件
$outputFile
,如果命令成功,则将“TRUE”写入文件
SUCCESS
,否则写入文件
FAILURE


|
&
是用于命令链接的
cmd
运算符
| |
表示“如果上一个命令失败,请运行下一个命令”
&
表示“如果上一个命令成功,则运行下一个命令”。

&
是PowerShell,它“运行命令、脚本或脚本块”。在您的情况下,它正在运行外部命令
CPAU.exe
,该命令位于
$basePath
中,参数为
-u
-p
-ex
-wait
-nowarn
-hide
。该命令运行另一个命令(参数
-ex
的参数):

上面使用
cmd.exe
(Windows命令提示符)运行
sqlcmd$($sqlArgs-join“”)
,将其输出重定向到文件
$outputFile
,如果命令成功,则将“TRUE”写入文件
SUCCESS
,否则写入文件
FAILURE

|
&
是用于命令链接的
cmd
运算符
| |
表示“如果上一个命令失败,请运行下一个命令”
&
表示“如果上一个命令成功,则运行下一个命令”

这是一些Powershell代码,调用存储在$basePath中的可执行文件CPAU.exe,传递用户名和密码,并使其执行一些CMD代码:

cmd/c(sqlcmd$($sqlArgs-join“”)>$outputFile&&echo TRUE>SUCCESS)| | echo TRUE>FAILURE

cmd执行一个SQL命令,给定一些预定义的$sqlArgs,并加上一个空格。整个命令被重定向到$outputFile,这也是需要预定义的

如果命令的输出和在CMD控制台上回显TRUE的能力为TRUE,则会创建一个名为SUCCESS的文件,以接收重定向的输出。否则,如果某项操作失败,但出现了echo TRUE,则会创建一个失败文件

整件事都在等待一切的完成,不给任何警告,然后…隐藏

不管是谁写的,都需要休假

这是一些Powershell代码,调用存储在$basePath中的可执行文件CPAU.exe,传递用户名和密码,并使其执行一些CMD代码:

cmd/c(sqlcmd$($sqlArgs-join“”)>$outputFile&&echo TRUE>SUCCESS)| | echo TRUE>FAILURE

cmd执行一个SQL命令,给定一些预定义的$sqlArgs,并加上一个空格。整个命令被重定向到$outputFile,这也是需要预定义的

如果命令的输出和在CMD控制台上回显TRUE的能力为TRUE,则会创建一个名为SUCCESS的文件,以接收重定向的输出。否则,如果某项操作失败,但出现了echo TRUE,则会创建一个失败文件

整件事都在等待一切的完成,不给任何警告,然后…隐藏


写这篇文章的人需要休假。

-u用户名、
-p
密码和
-ex
可能正在执行?谢谢,你能写一个解释整行内容的答案吗?我仍然不明白什么是“| |”和TRUE>失败?请给出否决票的原因。我不太擅长powershell,只是指出了一些事情。
|
是一个
条件。它是正在启动的cmd会话的一个or。
-u
用户名、
-p
密码和
-ex
可能正在执行?谢谢,你能写一个解释整行内容的答案吗?我仍然不明白什么是“| |”和TRUE>失败?请给出否决票的原因。我不太擅长powershell,只是指出了一些事情。
|
是一个
条件。它是正在启动的cmd会话的一个或。
cmd /c (sqlcmd $($sqlArgs -join ' ') > $outputFile && echo TRUE > SUCCESS) || echo TRUE > FAILURE
& $basePath\CPAU.exe -u $($sqlUser.UserName) -p $(ConvertTo-UnsecureString $sqlUser.Password) -ex "cmd /c (sqlcmd $($sqlArgs -join ' ') > $outputFile && echo TRUE > SUCCESS) || echo TRUE > FAILURE" -wait -nowarn -hide