批处理 bat 文件的 并发和顺序执行

1:单命令的批处理

::  跳转文件夹
cd /d D:\a\b
:: 2: 上述文件夹下运行的命令
npm start

:: 创建 bat 文件;名称自定义;
:: 将上述四行 存放入 bat文件内

2: 多命令的批处理

方法1: 可以写多个 bat文件;
方法2:一个 bat 文件内 写多个 运行命令; 同步执行;;
方法3:一个 bat 文件内 写多个 运行命令; 异步执行;;

2.1 方法1(多个bat文件依次点击运行);

方法同***1***(单命令的批处理)

2.2 方法2(并发);

@echo off   :: 删除窗口之前的数据
echo starting1......  :: 注释提醒
cd /d  D:\ding\dlg npm run build  :: 执行第一个命令
echo starting2......  :: 注释提醒
cd   /d D:\ding\dlg  npm start   :: 执行第二个命令
exit :: 退出主窗口

2.3 方法3(按顺序执行);

@echo off   :: 删除窗口之前的数据
echo starting1......  :: 注释提醒
start  /d  D:\ding\dlg npm run build  :: 执行第一个命令
ping /n  20  127.0.0.1 > nul  :: 这个主要任务是通过ping ip 的任务起到延时 作用  /n 后的20 是 持续20s;时间可以自行修改
echo starting2......  :: 注释提醒
start   /d D:\ding\dlg  npm start   :: 执行第二个命令
exit :: 退出主窗口

3:通过查询 某个端口删除端口下多个进程的批处理 bat


@echo off&setlocal EnableDelayedExpansion
set Port=
set Dstport=7002

for /F "usebackq skip=4 tokens=2,5" %%a in (`"netstat -ano -p tcp"`) do (
  for /F "tokens=2 delims=:" %%k in ("%%a") do (
    set  Port=%%k
  )
  echo !Port! %%b >>portandpid.txt
)
for /F "tokens=2 delims=:" %%c in ("%1") do (
    set  Port=%%c
  )
for /F "tokens=1,2 delims= " %%d in (portandpid.txt) do (
	echo %%d 
	echo %Dstport%
    if %%d == %Dstport% taskkill /f /pid %%e
  )
del portandpid.txt	
set Port=
set Dstport=
goto :eof

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值