gpt4 book ai didi

command-line - 必须仅使用一行来调用 PowerShell 脚本吗?

转载 作者:行者123 更新时间:2023-12-04 04:47:12 25 4
gpt4 key购买 nike

我有一些 PowerShell 脚本可以接受许多长参数,例如,

myScript.ps1 -completePathToFile "C:\...\...\...\file.txt" -completePathForOutput "C:\...\...\...\output.log" -recipients ("me@me.com") -etc.

除非所有参数都在一行上,否则我似乎无法让 PowerShell 运行此类脚本。有没有办法更像这样调用脚本?
myScript.ps1
-completePathToFile "C:\...\...\...\file.txt"
-completePathForOutput "C:\...\...\...\output.log"
-recipients (
"me@me.com",
"him@him.com"
)
-etc

缺乏可读性让我发疯,但脚本确实需要具有这种参数化。

最佳答案

PowerShell 认为该命令在行尾完成,除非它看到某些字符,如管道、打开括号或打开 curl 。只需在每行的末尾放置一个行继续符```,但要确保在该连续符之后没有空格:

myScript.ps1 `
-completePathToFile "C:\...\...\...\file.txt" `
-completePathForOutput "C:\...\...\...\output.log" `
-recipients (
"me@me.com", `
"him@him.com" `
)

如果您使用的是 PowerShell 2.0,您还可以将这些参数放在哈希表中并使用 splatting,例如:
$parms = @{
CompletePathToFile = 'C:\...\...\...\file.txt'
CompletPathForOutput = 'C:\...\...\...\output.log'
Recipients = 'me@me.com','him@him.com'
}
myScript.ps1 @parms

关于command-line - 必须仅使用一行来调用 PowerShell 脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2057631/

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