【问题标题】:Run PowerShell script by double clicking a file通过双击文件运行 PowerShell 脚本
【发布时间】:2021-07-12 20:03:58
【问题描述】:

我正在尝试通过双击文件来运行此脚本:

    $notifyParams = @{title="XXXX";content="New Tasks Available!"}
Invoke-WebRequest -Uri https://hook.notify17.net/api/raw/XXXXX -Method POST -Body $notifyParams

我想要另一个程序自动激活它,所以右键单击>用 Powershell 运行对我没有帮助。

我已经尝试了此线程中建议的所有内容,但似乎没有任何帮助: Is there a way to make a PowerShell script work by double clicking a .ps1 file?

只有右键单击>使用 Powershell 运行才能真正运行脚本。

我没有真正的PowerShell知识,也不是我自己写的,我只需要运行它。

【问题讨论】:

  • 您链接的那个线程中的解决方案应该可以工作。当您尝试接受的答案(包括 cmets 中关于 ExecutionPolicy 的部分)时会发生什么?
  • 你收到错误了吗?
  • 窗口短暂地打开和关闭,就是这样,线程中提到的每个方法。
  • 使用快捷方式中的 -noexit 标志来保持窗口打开,这应该可以让您看到文本

标签: powershell double-click


【解决方案1】:

我更改了执行策略 (https://stackoverflow.com/a/27753927/15681745) 的组策略,并通过此脚本与 cmd 文件一起使用

    ::====================================================================
:: Powershell script launcher
::=====================================================================
:MAIN
    @echo off
    for /f "tokens=*" %%p in ("%~p0") do set SCRIPT_PATH=%%p
    pushd "%SCRIPT_PATH%"

    powershell.exe -sta -c "& {.\%~n0.ps1 %*}"

    popd
    set SCRIPT_PATH=
    pause

【讨论】:

  • 如果执行策略有问题,那么你可以在快捷方式上使用-ExecutionPolicy Bypass,除非你真的想用 cmd 运行你的脚本
猜你喜欢
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多