const spawn = require('child_process')spawn;
const bat = spawn('cmdexe', ['/c', 'mybat']);
batstdouton('data', (data) => { consolelog(data);
});
batstderron('data', (data) => { consolelog(data);
});
baton('exit', (code) => { consolelog(`Child exited with code ${code}`);
});
这个方法?
1、新建一个txt文本,然后重命名为bat的文件(比如:testbatbat)。
2、然后进行编辑,输入“start calcexe”。
3、另存文本文档为bat 格式,下图为更改为bat格式的文件。
4、右键点击以管理员身份运行。
5、运行后时,d出对话框,点击是允许更改。
6、下图就是运行出的计算器程序。
qq提示请把nodedll放在exe目录怎么解决:可以把把软件所在的整个目录复制到桌面上。动态链接库和EXE文件放在同一目录会加快程序的运行速度,如果不放在一个目录就要在EXE等可执行文件的内核代码增加转向指令。
nodeexe不是软件。是Windows *** 作系统中的一个可执行文件(程序)。 文件的扩展名是exe的表示是可执行请务必运行那些您信任的可执行文件,因为可执行文件存在潜在的风险,它们可以改变您计算机的设置并伤害您的计算机
这样写命令:
运行 ("cmdexe start"+取运行目录+"\KMSexe" ,假,)
原理是调用Cmd的命令Start来代替易语言执行。
扩展:
Start命令语法
C:\Users\Administrator>start/
启动一个单独的窗口运行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" 在窗口标题栏中显示的标题。
path 启动目录。
B 启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。
除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断
该应用程序的方式。
I 新的环境将是传递给 cmdexe 的原始环境,而不是当前环境。
MIN 以最小化方式启动窗口。
MAX 以最大化方式启动窗口。
SEPARATE 在单独的内存空间中启动 16 位 Windows 程序。
SHARED 在共享内存空间中启动 16 位 Windows 程序。
LOW 在 IDLE 优先级类中启动应用程序。
NORMAL 在 NORMAL 优先级类中启动应用程序。
HIGH 在 HIGH 优先级类中启动应用程序。
REALTIME 在 REALTIME 优先级类中启动应用程序。
ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
NODE 将首选非一致性内存结构 (NUMA) 节点指定为十进制整数。
AFFINITY 将处理器关联掩码指定为十六进制数字。进程被限制在这些
处理器上运行。
当 /AFFINITY 和 /NODE 结合时,会对关联掩码进行不同的解释。
指定关联掩码,正如 NUMA 节点的处理器掩码正确移动到零位
起始位置一样。进程被限制在指定关联掩码和 NUMA 节点之间的
那些通用处理器上运行。如果没有通用处理器,则进程被限制在
指定的 NUMA 节点上运行。
WAIT 启动应用程序并等待它终止。
command/program
如果它是内部 cmd 命令或批文件,则该命令处理器是使用
cmdexe 的 /K 开关运行的。这表示运行该命令之后,该窗口
将仍然存在。
如果它不是内部 cmd 命令或批文件,则它就是一个程序,并将
作为一个窗口化应用程序或控制台应用程序运行。
parameters 这些是传递给 command/program 的参数。
注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。
通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式创建进程。例如,
可以创建两个完全通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,
从而最大限度地减少内存延迟。如有可能,它们即会分配来自相同 NUMA 节点的
内存,并且会在指定节点之外的处理器上自由运行。
启动 /NODE 1 application1exe
启动 /NODE 1 application2exe
这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器上运行。在以下
示例中, application1 在节点的两个低顺序处理器上运行,而 application2
在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑
处理器。请注意,节点号可更改为该计算机的任何有效节点号,而无需更改关联
掩码。
启动 /NODE 1 /AFFINITY 0x3 application1exe
启动 /NODE 1 /AFFINITY 0xc application2exe
如果命令扩展被启用,通过命令行或 START 命令的外部命令
调用会如下改变:
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORDDOC 会调用跟 DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
FTYPE 命令。
执行的应用程序是 32-位 GUI 应用程序时,CMDEXE 不等应用
程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
防止从当前目录提取 CMDEXE。
如果执行的命令行的第一个符号没有扩展名,CMDEXE 会使用
PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT 变量的默认值是:
COM;EXE;BAT;CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
与目录名相配。如果确实如此,START 会在那个路径上调用
Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
比如,你要去学校,要先出门,然后左转,经过某个地方,右转,往前走100米等等,就到了学校。再比如,你要去超市,你同样得出门,然后往前走到一个十字路口,然后过马路,往右经过一个面包店等等等等,然后到达了超市。好了,说这些有什么关系呢?同样的,你要执行某个软件,你得先找到这个软件,找不到软件会发生什么情况呢?
如下图:
这就相当于你想去学校或者超市,但是你却忘记了你该怎么走。执行软件的时候却找不到软件,所以就报错了。
那么如何让我们每次都能记起来去学校、超市,或者其他等等地方的路线呢?没错,写到本子上、记在手机的记事本里。同样,要使每次报错不能运行的软件能够正常运行,我们也可以把软件的运行路径记录到 *** 作系统的(PATH)变量里。那么,这个叫做(PATH)的东西,该去哪里修改,让它记住我们程序的路径呢?
首先,先找到我们的程序在哪,比如nodejs,我放在了这:
那么我们需要的是哪一个路径呢?nodeexe所在的目录,也就是:D:\softs\node-v10142-win-x64 这个路径。为什么不是D:\softs\node-v10142-win-x64/nodeexe呢?先不说可行不可行,单只从合理性上来说,如果你有100个执行软件,都添加到(PATH)里,那么你的(PATH)都会被你写成一篇论文那么长的字符串。每次从论文里面修改东西,先不说计算机不知道累不累,但我们人本身,肯定是累得够呛,这完全是反人类的设计。所以,记住,需要添加到(PATH)的是执行文件所在的目录,而不是执行文件本身。
好了,得到node所在的这个目录之后,我们先来测试一下,怎么测试呢?先用cd(change directory 改变目录)这个命令,切换到我们nodeexe可执行文件所在的目录。
看到没,切换到node本身所在的目录再执行node -v命令,版本号就出现了。所以,这就更加确定了,node执行不了,不是node本身不能运行或不存在,而是系统找不到它。有人可能会问,这个软件就在我的计算机上的, *** 作系统怎么找不到?这里我们用屁股来想一想, *** 作系统本身的文件加上你平时使用软件和软件本身产生的文件,少说也有几十万。那么每次 *** 作系统执行文件,总不能每次从这几十万文件里面去找node在哪吧?虽然电脑速度快,但是完全不需要搞得这么傻逼对不对。所以,把需要执行的软件所在的目录,放到(PATH)里面。这样,每次执行命令,就去(PATH)记录的目录里面去找,这样是不是快得一笔?
好了, node所在的目录路径找到了,现在放到(PATH)里面去,我用的是windows7系统,其他系统请参考。
1,打开计算机的属性面板,至于怎么打开?方法比较多,右击桌面上的电脑图标,选择属性。或者点击左下角开始菜单,右击计算机,选择属性也行。
2,打开属性面板之后,再点击高级系统设置
3,d出一个框,选择环境变量
4,然后,我们就看到了,两个同样的(PATH)属性。
5,强迫症患者此刻已经抱头痛哭,为什么要让我选择!!!
对啊,选择哪一个呢?为什么会有两个(PATH)呢?这里稍微说一下,windows是多用户,多任务 *** 作系统,一台电脑可以多个人用。多个人用是什么意思呢?五六个人凑一起打键盘?手摸着手,叠罗汉点击鼠标?当然不是这样。多用户的意思是,你可以在电脑上注册多个账号,比如上图的(chensuiyi)就是我自己的账户。A用户用这台电脑的时候,显示A用户安装过的软件和创建的文件,B用户登录的时候,显示B用户安装的软件和创建的文件。现在生活水平的提高和技术的发展,电脑已经基本个人化,不存在多个人不同时段公用一台电脑的事情了,所以多用户其实很少接触到。
好了,就算说完了这,这两个(PATH)还是如何选择呢?随便选一个就好了(那说这么多放屁啊!)。这里选择(系统变量)里面的那个(PATH)。
这里注意一下,系统变量里面设置的参数,所有登录的用户都会生效。
6,选中(PATH),点击编辑,把node所在的目录路径,放到最后,注意箭头处的那个分号!!!每个路径一个分号隔开!每个路径一个分号隔开!每个路径一个分号隔开!,好了,说三遍,你懂的。
点击确定,重新打开一次cmd命令行,记住,是重新打开一遍!!!再次输入node -v命令,如图,大功告成!收工!
结语
感谢您的观看,如有不足之处,欢迎批评指正。
本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)