[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[技术讨论] 将ps1编译成exe的模块

刚发现一个模块, 可以把ps1转为exe而且生成的文件很小巧, 欢迎讨论

安装: Install-Module -Name ps12exe -Scope CurrentUser
用法: ps12exe a.ps1 a.exe

网址:
https://www.powershellgallery.com/packages/ps12exe

exe能在不安装ps或没有ps情况下运行不?

TOP

回复 2# Five66


    能吧, win10自带ps5.1

TOP

啊,自带,那么如何吧自带ps的移除或者删掉,还能运行不?也就是说exe能否独立运行,不能的话也感觉也没啥意义,就跟弄成bat那样差不多,隔壁python和nodejs的弄成的exe,可以单独运行的(因为运行需要的东西基本上全塞进exe里了)

TOP

回复 4# Five66

powershell本来就是基于.net的 而且语法也比较简单 还是比较好编译成msil的exe的吧
你好

TOP

回复 5# jyswjjgdwtdtj


    还是得依赖net,感觉除了一定程度上保护代码之外没啥用

TOP

回复 6# Five66


    有点用, 至少可以直接执行了, 而且很小, 现在win10非常普及了, 即使需要powershell也内置了

TOP

模块的作者放私货,在里面用中文写了极不友好的内容。

试试用管道的方法转exe
  1. $ps='test.ps1'
  2. $cs='test.cs'
  3. (
  4. @'
  5. using System;
  6. using System.Diagnostics;
  7. using System.IO;
  8. using System.Text;
  9. class StandardOutputExample
  10. {
  11.     public static void Main()
  12.     {
  13.         using (Process p = new Process())
  14.         {
  15.             byte[] psc = new byte[] {
  16. '@ +(([System.Text.Encoding]::UTF8.GetBytes((gc $ps) -join "`r`n")|%{'0x'+$_.tostring('X2')})-join',')+ @'
  17.             };
  18.             p.StartInfo.FileName = "powershell.exe";
  19.             p.StartInfo.UseShellExecute = false;
  20.             p.StartInfo.RedirectStandardOutput = true;
  21.             p.StartInfo.RedirectStandardInput = true;
  22.             p.Start();
  23.             StreamReader r = p.StandardOutput;
  24.             StreamWriter w = p.StandardInput;
  25.             w.WriteLine("cd "+AppDomain.CurrentDomain.BaseDirectory);
  26.             w.WriteLine(Encoding.UTF8.GetString(psc));
  27.             Console.WriteLine(r.ReadToEnd());
  28.             p.WaitForExit();
  29.             Console.ReadLine();
  30.         }
  31.     }
  32. }
  33. '@
  34. )|sc $cs
  35. C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe $cs
复制代码

TOP

回复 8# idwma


    是吗? 有点好奇, 放了什么私货?

TOP

本帖最后由 idwma 于 2025-1-11 21:20 编辑

回复 9# 小白龙

还是删了不吉利

TOP

返回列表