记一次bat文件编写

发布时间 2023-12-19 16:59:05作者: peng_boke

前言

这次需要集成很多东西,所以程序运行起来需要打开很多环境,k开发过程中为了方便客户演示,写了一个bat文件启动所有需要的运行环境。

1.bat源码

taskkill /f /im 1.exe
taskkill /f /im 2.exe
taskkill /f /im 3.exe
timeout /t 1 /nobreak >null
del -f -s -q C:\temp\1.json
copy C:\temp\1.json C:\temp\Release
start cmd /k "cd C:\temp\Release&&python -m 1.server"
timeout /t 3 /nobreak >null
start  C:\2.exe 
timeout /t 1 /nobreak >null
start C:\3.exe
%pause%
exit

2.taskkill

使用该工具按照进程 ID (PID) 或映像名称终止任务。

taskkill /f /im 1.exe
/S    system    指定要连接的远程系统。  
/U    [domain\]user    指定应该在哪个用户上下文执行这个命令。
/P    [password]       为提供的用户上下文指定密码。如果忽略,提示输入。
/FI   filter           应用筛选器以选择一组任务。允许使用 "*"。例如,映像名称 eq acme*
/PID  processid        指定要终止的进程的 PID。使用 TaskList 取得 PID。
/IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来 指定所有任务或映像名称。
/T                     终止指定的进程和由它启用的子进程。
/F                     指定强制终止进程。
/?                     显示帮助消息。

3.timeout

延时

TIMEOUT [/T] timeout [/NOBREAK]
/T        timeout       指定等候的秒数。有效范围从 -1 到 99999 秒。
/NOBREAK                忽略按键并等待指定的时间。

4.del

删除文件

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀

5.copy

COPY命令只能复制文件,不能复制文件夹。

/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。
/Y 取消提示以确认要覆盖
现有目标文件。
/I 如果目标不存在,且要复制多个文件,
则假定目标必须是目录。

6.start

启动单独的“命令提示符”窗口来运行指定程序或命令。如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口。

/dpatch 指定启动目录。 
/i 将 Cmd.exe 启动环境传送到新的“命令提示符”窗口。 
/min 启动新的最小化窗口。 
/max 启动新的最大化窗口。 
/separate 在单独的内存空间启动 16 位程序。 
/shared 在共享的内存空间启动 16 位程序。 
/low 以空闲优先级启动应用程序。 
/normal 以一般优先级启动应用程序。 
/high 以高优先级启动应用程序。 
/realtime 以实时优先级启动应用程序。 
/abovenormal 以超出常规优先级的方式启动应用程序。 
/belownormal 以低出常规优先级的方式启动应用程序。 
/wait 启动应用程序,并等待其结束。 
/b 启动应用程序时不必打开新的“命令提示符”窗口。除非应用程序启用 CTRL+C,否则将忽略 CTRL+C 操作。使用 CTRL+BREAK 中断应用程序。