PowerShell脚本"&&引用&引用&&&引用&引用||&引用;操作员
我不熟悉PowerShell脚本。我的任务是理解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
& $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