powershell - 从 PowerShell 脚本创建可执行的 .exe 文件?

标签 powershell executable

是否可以创建一个可执行文件 file.exe来自 PowerShell 脚本的文件?

最佳答案

不。至少现在还没有,而且在 PowerShell 的 5 个版本之后,似乎永远不可能。

我希望我可以就此搁笔,但其他人提供了一堆我觉得有必要解决的“解决方法”类型的答案:

您可以将您的 .ps1 脚本包装在另一种脚本类型中以使其可双击,您甚至可以生成一个嵌入脚本的可执行文件(请参阅此线程上的其他答案)……但那些“可执行文件”需要正确的版本PowerShell 已经存在于系统中,因此您不会通过这样做获得任何好处,并且您失去了 PowerShell 的许多功能(例如流式对象输出、帮助文档和自动参数处理以及用户的 Tab 补全) .

这是一个简单的 .cmd 批处理文件包装器(您可以扩展它以允许参数):

REM <#
copy %0 %0.ps1
PowerShell.exe -ExecutionPolicy Unrestricted -NoProfile -Command "&{Set-Alias REM Write-Host; .\%0.ps1}"
del %0.ps1
exit
REM #>

### Your PowerShell script goes below here.
### I've put a couple of lines as an example ...
ls | sort length -desc | select -first 5 | ft
ps | sort ws -desc | select -first 10 | ft

我知道 ...

可移植 PowerShell ,可能可以打包一种自解压 zip 文件,其中包含正确版本的 PowerShell 和脚本并且可以工作。那是 不是 任何正常意义上的可执行文件——这有点像 Valve 决定只在拇指驱动器上发布 vmware 镜像作为他们让 Linux 用户玩半条命的解决方案。然而,该产品似乎被放弃了。

PrimalScript (或 PowerShell Studio )或 PowerGui pShellExec ,您的脚本可以被加密,因此它可以防止窥探......但这基本上只是混淆,与批处理文件基本上没有区别,并且在某些方面更糟。

关于powershell - 从 PowerShell 脚本创建可执行的 .exe 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3759456/

相关文章:

c# - 无法调用此函数,因为当前主机未实现它 c#

powershell - 使用 powershell 更新程序集信息

image - 通过Powershell进行智能图像搜索

json - CURL CouchDB 复制命令 - 无效的 JSON

python - 在/usr/local/bin/中执行 python shebang 脚本时没有任何反应

delphi - Delphi 中的时间戳 (%d) 相当于什么?

c - ubuntu下编译c程序后可执行文件在哪里?

c# - 我应该如何调用与我的主应用程序一起分发的 .NET exe

powershell - 在自动构建过程中使用脚本

linux - readelf 报告 so file as NEEDED,但没有使用它的函数(或其他符号)