我编写了一个非常简单(但我相信非常有用)的 PowerShell 脚本,并以 .cmd 文件的形式为其创建了安装程序。该发行版包含两个 .cmd 文件和两个 .ps1 文件。目前安装程序从 github 下载所有需要的文件。
我的目标是使安装程序自成一体,这样人们即使在严格的防火墙之后也可以使用它。
一种方法可能是这样的:
echo param(>!filename!
echo [string] $pfilename>>!filename!
echo )>>!filename!
...
但是这种方法需要转义可能变得非常复杂的特殊字符。此外,它需要以某种方式自动化才能有用。
另一种方法是将脚本源代码直接包含在 .cmd 文件中,用注释标记,::begin file1
然后::end file1
提取它。但是怎么做?
我的第一个想法是调查pl2bat
。但事实证明,它perl
有一个特殊的开关 ( -x
),它只是去掉了行前的所有文本#!perl
,并且生成的 .bat 文件pl2bat
只是perl -x
在自身上运行。所以我不能使用与使用相同的方法pl2bat
。
有任何想法吗?
PS:我知道 NSIS、InnoSetup 和 WiX。我只希望我的安装程序是文本的,而不是二进制的,所以每个人都可以看到它是无害的。