如何用bat文件启动一个exe文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用bat文件启动一个exe文件?相关的知识,希望对你有一定的参考价值。
现在有个问题是,当这个Enu.exe(一个模拟器)被启动以后,
界面一直不显示。如何才能修改为这个bat文件启动Enu.exe
后显示模拟器界面?
rem 预处理文件
cd ..\met\bin\
gpc.exe -E -x c ..\..\game\Rescue.mes > ..\..\comptmp.tmp
cd ..\..\
rem 清除预处理后的残留信息
vm -c comptmp.tmp
rem 删除临时文件
del comptmp.tmp /F
rem 编译代码
mppc -o codegame.bin codeforcomp.mes
rem 生成游戏下载包
vm -l .\game\Rescueinfo.txt codegame.bin .\game\imgtest.bcc.\game\Rescue.met
copy .\game\Rescue.met ".\EMU\WIN\E\me\app\Rescue.met" /y
rem 运行模拟器
.\EMU\pluto\Debug\Enu.exe
回 hackate:加上start也不行
回 Who绝版笨_我:用绝对路径也不行
回 华工大学生:这个模拟器是个.exe程序,单独的文件,不是控制台程序,直接双击和开始->运行这里输入地址都没问题,
另外。。。加了call也不行。。。
特别说明一下,这种语言不是任何一种语言,是合作方自己开发的语言,类似vb脚本,但又有很多地方不一样,开发工具使用UltrlEdit。
实际上,在我的bat文件执行完以后,这个模拟器实际上已经被启动了,在状态栏中出现了模拟器的图标,任务管理器中看到的模拟器的进程,但是模拟器的界面不管是否
选中状态栏的模拟器图标都不显示。
我单键了一个bat文件,只有一句话
start D:\met\EMU\pluto\Debug\PixtelMMI.exe
这个文件的问题跟上面我提到的问题一模一样~~~
1、新建一个txt文本,然后重命名为.bat的文件(比如:testbat.bat)。
2、然后进行编辑,输入“start calc.exe”。
3、另存文本文档为bat 格式,下图为更改为bat格式的文件。
4、右键点击以管理员身份运行。
5、运行后时,弹出对话框,点击是允许更改。
6、下图就是运行出的计算器程序。
参考技术A1、先新建一个txt文本。
2、然后进行编辑,启动一个exe文件,只要使用start命令就可以了
3、另存文本文档为bat 格式在资源管理器中双击运行
4、然后右键点击以管理员身份运行
5、运行后时,弹出对话框,点击是允许更改即可
一、批处理的创建
新建一个txt文本,然后重命名为.bat的文件(比如:testbat.bat)。然后进行编辑,启动一个exe文件,只要使用start命令就可以了,如图中批处理,就是启动windows自带的计算器程序。
二、批处理的运行
1、在资源管理器中和一般程序一样双击运行
2、同时按windows键+R键,打开CMD命令提示符,输入批处理文件名按回车键即可运行
拓展资料
bat文件使用参数
批处理中可以使用参数,一般从%1到%9这九个,当有多个参数时需要用shift来移动,这种情况并不多见,我们就不考虑它了。
sample1:fomat.bat
@echo off
if "%1"=="a" format a:
:format
@format a:/q/u/auotset
@echo please insert another disk to driver A.
@pause
@goto fomat
sample2:
当我们要建立一个IPC$连接地时候总要输入一大串命令,弄不好就打错了,所以我们不如把一些固定命令写入一个批处理,把肉鸡地ip password username 当着参数来赋给这个批处理,这样就不用每次都打命令了。
@echo off
@net use \\\\1%\\ipc$ "%2" /u:"%3" 注意哦,这里PASSWORD是第二个参数。
@if errorlevel 1 echo connection failed
三.如何使用组合命令(Compound Command)
⒈&
Usage:第一条命令 & 第二条命令 [& 第三条命令...]
用这种方法可以同时执行多条命令,而不管命令是否执行成功
Sample:
C:\\>dir z: & dir c:\\Ex4rch
The system cannot find the path specified.
Volume in drive C has no label.
Volume Serial Number is 0078-59FB
Directory of c:\\Ex4rch
2002-05-14 23:51 <DIR> .
2002-05-14 23:51 <DIR> ..
2002-05-14 23:51 14 sometips.gif
⒉&&
Usage:第一条命令 && 第二条命令 [&& 第三条命令...]
用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令;
Sample:
C:\\>dir z: && dir c:\\Ex4rch
The system cannot find the path specified.
C:\\>dir c:\\Ex4rch && dir z:
Volume in drive C has no label.
Volume Serial Number is 0078-59FB
Directory of c:\\Ex4rch
2002-05-14 23:55 <DIR> .
2002-05-14 23:55 <DIR> ..
2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
2 Dir(s) 768,671,744 bytes free
The system cannot find the path specified.
在做备份的时候可能会用到这种命令会比较简单,如:
dir file://192.168.0.1/database/backup.mdb && copy file://192.168.0.1/database/backup.mdb E:\\backup
如果远程服务器上存在backup.mdb文件,就执行copy命令,若不存在该文件则不执行copy命令。这种用法可以替换IF exist了 :)
⒊||
Usage:第一条命令 || 第二条命令 [|| 第三条命令...]
用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;
Sample:
C:\\Ex4rch>dir sometips.gif || del sometips.gif
Volume in drive C has no label.
Volume Serial Number is 0078-59FB
Directory of C:\\Ex4rch
2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
0 Dir(s) 768,696,320 bytes free
组合命令使用的例子:
sample:
@copy trojan.exe \\\\%1\\admin$\\system32 && if not errorlevel 1 echo IP %1 USER %2 PASS %3 >>victim.txt
参考资料:百度百科-bat文件
批处理(BAT文件)方式启动exe文件的方法
一、批处理的创建
新建一个txt文本,然后重命名为.bat的文件(比如:testbat.bat)。然后进行编辑,启动一个exe文件,只要使用start命令就可以了,如图中批处理,就是启动windows自带的计算器程序。
二、批处理的运行
1、在资源管理器中和一般程序一样双击运行
2、同时按windows键+R键,打开CMD命令提示符,输入批处理文件名按回车键即可运行
三、如果需要更复杂的一些操作,参考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 新的环境将是传递给 cmd.exe 的原始环境,而不是当前环境。
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 命令或批文件,则该命令处理器是使用
cmd.exe 的 /K 开关运行的。这表示运行该命令之后,该窗口
将仍然存在。
如果它不是内部 cmd 命令或批文件,则它就是一个程序,并将
作为一个窗口化应用程序或控制台应用程序运行。
parameters 这些是传递给 command/program 的参数。
注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。
通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式创建进程。例如,
可以创建两个完全通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,
从而最大限度地减少内存延迟。如有可能,它们即会分配来自相同 NUMA 节点的
内存,并且会在指定节点之外的处理器上自由运行。
启动 /NODE 1 application1.exe
启动 /NODE 1 application2.exe
这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器上运行。在以下
示例中, application1 在节点的两个低顺序处理器上运行,而 application2
在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑
处理器。请注意,节点号可更改为该计算机的任何有效节点号,而无需更改关联
掩码。
启动 /NODE 1 /AFFINITY 0x3 application1.exe
启动 /NODE 1 /AFFINITY 0xc application2.exe
如果命令扩展被启用,通过命令行或 START 命令的外部命令
调用会如下改变:
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
FTYPE 命令。
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用
程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
防止从当前目录提取 CMD.EXE。
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
与目录名相配。如果确实如此,START 会在那个路径上调用
Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
参考技术D批处理(BAT文件)方式启动exe文件的方法
一、批处理的创建
新建一个txt文本,然后重命名为.bat的文件(比如:testbat.bat)。然后进行编辑,启动一个exe文件,只要使用start命令就可以了,如图中批处理,就是启动windows自带的计算器程序。
二、批处理的运行
1、在资源管理器中和一般程序一样双击运行
2、同时按windows键+R键,打开CMD命令提示符,输入批处理文件名按回车键即可运行
三、如果需要更复杂的一些操作,参考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 启动目录。
拓展资料:
bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。
管道命令:
| 命令
Usage:第一条命令 | 第二条命令 [| 第三条命令...]
将第一条命令的结果作为第二条命令的参数来使用,记得在unix中这种方式很常见。
sample:
time /t>>D:\\IP.log
netstat -n -p tcp|find ":3389">>D:\\IP.log
start Explorer
看出来了么?用于终端服务允许我们为用户自定义起始的程序,来实现让用户运行下面这个bat,以获得登录用户的IP。
将一条命令或某个程序输出结果的重定向到特定文件中,> 与 >>;的区别在于,>;会清除调原有文件中的内容后写入指定文件,而>>;只会追加内容到指定文件中,而不会改动其中的内容。
sample1:
echo hello world>c:\\hello.txt (stupid example?)
sample2:
时下DLL木马盛行,我们知道system32是个捉迷藏的好地方,许多木马都削尖了脑袋往那里钻,DLL马也不例外,针对这一点我们可以在安装好系统和必要的应用程序后,对该目录下的EXE和DLL文件作一个记录:
运行CMD--转换目录到system32--dir *.exe>exeback.txt & dir *.dll>dllback.txt,
这样所有的EXE和DLL文件的名称都被分别记录到exeback.txt和dllback.txt中,
日后如发现异常但用传统的方法查不出问题时,则要考虑是不是系统中已经潜入DLL木马了.
这时我们用同样的命令将system32下的EXE和DLL文件记录到另外的exeback1.txt和dllback1.txt中,然后运行:
CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比较前后两次的DLL和EXE文件,并将结果输入到diff.txt中),这样我们就能发现一些多出来的DLL和EXE文件,然后通过查看创建时间、版本、是否经过压缩等就能够比较容易地判断出是不是已经被DLL木马光顾了。
没有是最好,如果有的话也不要直接DEL掉,先用regsvr32 /u trojan.dll将后门DLL文件注销掉,再把它移到回收站里,若系统没有异常反映再将之彻底删除或者提交给杀毒软件公司。
< 、>& 、<&
< 从文件中而不是从键盘中读入命令输入。
>& 将一个句柄的输出写入到另一个句柄的输入中。
<& 从一个句柄读取输入并将其写入到另一个句柄输出中。
这些并不常用,也就不多做介绍。
No.5
如何用一个bat文件调用另外两个bat文件?
有两个bat文件(不在同一个文件夹中),我想用一个bat文件调用执行这两个文件,该怎样写代码?
要依次执行文件,并且能从bat中返回来(不要运行完了还留个窗口)。比如这两个文件的地址分别为:c:\1\a.bat ; c:\2\a.bat
set /a n=0
for /f %%i in ('tasklist ^|findstr /i "cmd.exe" ' ) do (
set /a n=!n!+1
)
set /a old=%n%
start c:\1\a.bat
:loop
set /a n=0
for /f %%i in ('tasklist ^|findstr /i "cmd.exe" ' ) do (
set /a n=!n!+1
)
set /a new=%n%
ping 127.1 -n 2 > nul
if %new% gtr %old% goto loop|| goto bat2
:bat2
start c:\2\a.bat
--------------------------
不知道是不是我想复杂了....
看批处理吧
就是检测当前系统运行过程中CMD进程数量 也就是 调用1.bat之后 检测到 少了一个CMD.exe进程才进行下一步操作 调用bat2
缺点也很明显
1.第一个BAT运行完之后可以自动退出..一般没有pause运行完也就关了..
2.运行此脚本之后 如果后台还有CMD.EXE进程运行,第一个BAT运行过程中 恰好后台的CMD进程结束,也会提前调用第二个BAT
3. ...运行中要是别的程序又开了CMD进程 没有关闭 那就没办法调用第二个bat..本回答被提问者采纳 参考技术B 项目运行时,需要先运行selenium-server.bat,启动成功一个在运行build.bat,达到每个类都运行的效果。
@echo off
start selenium-server.bat
echo wscript.sleep 5000 > delay.vbs
cscript //nologo delay.vbs & del delay.vbs
call build.bat 参考技术C @echo off
start c:\1\a.bat
start c:\1\a.bat
最上面个时隐藏自己
下面两个是打开文件 参考技术D start 1.bat
start 2.bat
以上是关于如何用bat文件启动一个exe文件?的主要内容,如果未能解决你的问题,请参考以下文章