gpt4 book ai didi

powershell - 如何使用路径和参数的可变值执行exe

转载 作者:行者123 更新时间:2023-12-03 14:02:27 24 4
gpt4 key购买 nike

我正在尝试在我的 powershell 脚本中执行以下命令:

D:\Apps\Documentum\product\7.3\bin\idql.exe -udmadmin -pPassword dctm04 -RC:\temp\documentum\session_list.txt -w20 > C:\temp\documentum\session_logstash.txt

在我的 powershell 脚本中,我这样做:
$DOCBASE="dctm04"
$USER_DOCBASE="dmadmin"
$USER_PWD="Password01"
$IDQL_PATH="D:\Apps\Documentum\product\7.3\bin"
$QRY_SESSIONS="C:\temp\documentum\session_list.txt"
$QRY_LOG_SESSIONS="C:\temp\documentum\session_logstash.txt"

$IDQL_PATH\idql.exe -u$USER_DOCBASE -p$USER_PWD $DOCBASE -R$QRY_SESSIONS -w20 > $QRY_LOG_SESSIONS

但它不能正常工作,我收到以下错误:
At C:\temp\documentum\Generate.ps1:49 char:13
+ $IDQL_PATH\idql.exe -u$USER_DOCBASE -p$USER_PWD $DOCBASE -R$QRY_SESSIONS -w20 ...
+ ~~~~~~~~~
Unexpected token '\idql.exe' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken

我想,我没有在我的命令中正确使用变量。

请注意我的 powershell 版本是:
PS C:\temp\documentum> $PSVersionTable.PSVersion

Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1

你能给我解决方案以解决我的问题吗

最佳答案

原因是将字符串与可执行文件名称组合对 Powershell 的解析规则没有意义。使用调用运算符 &Invoke-Item 。像这样,

$ssms="C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio"
PS C:\> $ssms\ssms.exe
At line:1 char:6
+ $ssms\ssms.exe
+ ~~~~~~~~~
Unexpected token '\ssms.exe' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken

C:\>& $ssms\ssms.exe
# Launches SSMS succesfully

C:\>Invoke-Item $ssms\ssms.exe
# Launches SSMS succesfully

有关于运行可执行文件的 nice a document

关于powershell - 如何使用路径和参数的可变值执行exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51671468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com