话说前几日在用FTVIEW SE画面软件想实现一个动态修改屏幕分辨率或者是类似的这样需要修改电脑本身设置或者打开某些软件等等的一个需求。
意思就是当FTVIEW SE运行时执行一个分辨率或者一种设置,当FTVIEW SE画面退出的时候再执行另一个分辨率或者是另一种设置。
最开始计划用windows系统自带的.bat或者.cmd这个批处理工具来制作一个可以通过电脑命令来执行修改电脑设置。
这个.bat的批处理工具就相当于把之前需要DOS下在command/CMD.exe里一条一条去输入和执行的指令放在了一个文件里去顺序执行。
比如我们常用的ping命令,,arp命令,netstat命令,ipconfig命令,route print命令,osk命令等等都是属于command里的命令。其他的命令也可以通过自己搜索测试下。
这个.bat/.cmd格式的批处理文件可以直接通过windows自带的记事本或者是其他的文本编辑编辑即可。如下图为一个简单的bat批处理文件,以及直接在系统中双击运行测试的结果。
可以看出在这个bat文件中创建的指令可以在cmd.exe中依次顺序执行。
简单说下这些的意思,更加详细的内容可以查看bat文件的其他介绍。
Echo on/off也就是回显是否开,ver是查看版本号,rem是注释,
ping就是常用的查看网络状态是否正常的命令。
Pause就是暂停执行。
然后我就用这个bat文件制作了自己的想要的分辨率修改效果。
执行起来也没有问题,完全满足需求。但是新的问题来了见下章节。
通过FTVIEW SE软件可以发现是支持脚本语言的,他支持的脚本语言为PowerShell。意思也就是可以通过编写后缀为.PS1的PowerShell脚本文件,然后就可以在FTVIEW SE中执行了。
Powershell是基于.net框架上面向对象的,本身内部就内置了很多的命令,而CMD写的脚本是面向过程的编程,本身没有集成太多的功能,大部分都是依赖第三方的程序。
可以说cmd能执行的功能在PowerShell都能实现的,但是用powershell里能执行的功能在cmd中不一定能实现。
#速度cmd是打开真的快啊,powershell得等待一段时间才能打开。
#cmd所有的windows系统中都带有cmd,但是powershell就低版本的系统中就没有了,需要自己安装才可以。
不过powershell不仅可以在windows系统中运行,还可以再linux系统和MACOS上运行。
通过PowerShell编写完xxx.ps1的脚本文件后,就可以通过FTViewSE中命令向导中选择ScriptExecute去执行在FTVIEWSE中脚本选项中保存的脚本即可执行这个脚本。
如上图所示,不过经过测试发现我编写的.ps1脚本虽然提示执行成功了,但是结果没有达到预期的效果,会提示模式不支持,然后无法设置电脑相关属性。
然而用.bat的文件执行时却发现没有问题,会达到预期效果。
理论上讲powershell是比cmd更强大的语言,同时Powershell会兼容cmd的,但为啥powershell不行不是这个文章的重点,重点是如何能把这个.bat文件在FTVIEW中让他执行起来。
这也就是下一个章节的内容。
既然脚本的方式发现不成功,那就又在这个命令列表里看发现了还可以通过APPStart的命令来执行一个.exe的可执行文件的方式来执行脚本也是可以满足满足需求的。
那问题是怎么可以通过.bat文件来生成.exe的格式的可执行文件呢???
通过搜索还真发现了几个能直接把bat批文件直接转换为.exe的可执行文件的,测试了几个软件后发现有点问题,通过我找的这几个转换工具转换后生产的可执行文件要不就是直接被系统认为是包含病毒或潜在的垃圾文件。
要不就是直接被server系统中自带的杀毒软件给自动杀掉了。
有没有一种不被window系统当做病毒或者是垃圾的并且是可以生成.exe的可执行文件呢?
还真的有的呢,那就是下一个章节的内容。
Iexpress软件是微软为了创建压缩cab文件或者是创建自解压/自安装文件所开发的的一个小工具。这个是微软自带的一个免费的小工具软件。
通过他制作和合成的可执行文件一般的杀毒软件都不会报错,都会当做是自己人。
所以很多的伪装免杀的木马也会用这个制作,还是要小心点。。避免中招。
具体的使用方法也比较的简单容易啊,基本上就是根据提示下一步下一步的点然后输入一些信息就可以了,然后到了install program这里选择install program时选择使用cmd.exe然后来打开之前创建的.bat批处理文件。
最后可以在自己指定的存放的地方得到一个有微软公司生成的一个可执行的exe文件。
最后再通过SE中的选择命令去选择生成的可执行文件。
本名秦宇,现任PROSOFT产品技术支持经理,10多年工控行业从业中,熟悉水处理行业,冶金行业,电力行业以及涂料行业。熟悉AB,西门子,施耐德品牌各系列PLC控制系统,变频器和上位机软件。IFIX,Intouch和组态王等独立上位机软件也均做过项目。
目前从事Prosoft网络协议转换和工业无线通讯产品支持工作,所以对各种常见和不常见的工业网络,工业无线通讯都非常熟悉。
1.Smart200&V90伺服系统:已更新15课
原文始发于微信公众号(剑指工控):看我一招鲜 | BAT转EXE快速生成