gpt4 book ai didi

windows - 如何压缩 PowerShell 脚本以适应单行

转载 作者:可可西里 更新时间:2023-11-01 11:12:49 25 4
gpt4 key购买 nike

快速提问。我正在尝试编写以下 PowerShell 脚本,但我希望它适合一行:

$app = New-Object -comobject Excel.Application
$wb1 = $app.Workbooks.Open("C:\xampp\upload_files\Launchpad.xlsm")
$app.Run("Refresh")
$wb1.Close($false)
$app.Quit()

伪代码看起来像这样:

$app = New-Object -comobject Excel.Application AND $wb1 = $app.Workbooks.Open AND "C:\xampp\upload_files\Launchpad.xlsm") AND $app.Run("Refresh") AND $wb1.Close($false) AND $app.Quit()

我想放在一行的原因是因为我想将参数直接插入 Windows 任务计划程序的“参数”框中。这样做的原因是由于某些原因脚本已被禁用(例如,我无法调用 .ps1 文件...)

我知道这仍然有效,因为我已经运行了一个“one liner”PS 脚本。语法是什么样的??

亲切的问候,G.

最佳答案

Powershell 语句可以用分号分隔:

$app = New-Object -COM 'Excel.Application'; $wb1 = $app.Workbooks.Open("..."); ...

PowerShell 可执行文件采用 -Command 参数,允许您指定要在 PowerShell 中执行的命令字符串:

powershell.exe -Command "stmnt1; stmnt2; ..."

要通过任务计划程序运行它,您需要将 powershell.exe 放入“程序”字段并将 -Command "stmnt1; stmnt2; ..." 放入任务的“参数”字段。

但是,正如@alroc 所说:您应该验证脚本执行为何受到限制。如果它只是默认设置,您可以通过运行 Set-ExecutionPolicy RemoteSigned 简单地更改它,或者通过将 -ExecutionPolicy ByPass 添加到 PowerShell 命令行来覆盖它。但是,如果设置是通过更改/绕过策略来强制执行的,则设置将失败,并且您可能会因违反公司政策而陷入相当大的麻烦。

关于windows - 如何压缩 PowerShell 脚本以适应单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22258668/

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