windows批处理文件.bat脚本的应用(cmd命令)

server_start.bat】批量启动个人线上项目:windows设置开机启动 server_start.bat脚本,进入目录:【C:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup】把server_start.bat拷贝到该目录下,重启机器便会自动运行该脚本文件,打开cmd窗口并运行相应的命令。注意:如果windows系统开机后,不会直接进行桌面是不会执行bat脚本的,所以需要对系统设置(百度)。

开启多个CMD窗口(多个node服务与nginx)

@echo off
echo 幸福快线-外部服务
start  cmd /k "cd/d C:UsersAdministratorDesktopserver
ode&npm start"

ping -n 1 127.0.0.1 :: 注释:延迟1秒执行(保证启动顺序)
echo 裕发婚恋-内部服务
start  cmd /k "cd/d C:UsersAdministratorDesktopinside
ode&npm start"

ping -n 1 127.0.0.1 :: 注释:延迟1秒执行(保证启动顺序)
echo 裕发-服务人民
start  cmd /k "cd/d C:UsersAdministratorDesktopservePeople
ode&npm start"

ping -n 1 127.0.0.1 :: 注释:延迟1秒执行(保证启动顺序)
echo 启动ngixn
start  cmd /k "cd/d C:UsersAdministratorDesktop
ginx&nginx -s reload&start nginx"

echo 开启完成,正在返回!

::直接退出CMD窗口
exit

打开本地文件与文件夹,启动软件与前端服务。

注意:如果文件路径与文件名有中文,需要用记事本打开,另存为编码ANSI。VS Code会将文件转成UTF-8。

/K 是为了避免让窗口自动关闭(保持这个服务),而后双引号中间是shell命令,多条命令用&&分隔开,先找到目录而后npm run serve启动前端服务

打开本地的软件 方式一:
注意:不能使用【ping -n 1 127.0.0.1】延迟启动软件,它会导致部分软件启动不了,缘由是部分软件会让CMD进入“挂起”状态,无法继续向下执行。

::启动软件
call "C:Program FilesAdobeAdobe Photoshop 2021Photoshop.exe" ::PS
::ping -n 1 127.0.0.1  启动软件前面,不可以使用延迟
call "C:UsersAdministratorAppDataLocalGoogleChromeApplicationchrome.exe" ::谷歌浏览器
call "C:Program Files (x86)TencentQQBinQQScLauncher.exe" ::QQ
call "C:Program Files (x86)TencentWeChatWeChat.exe" ::微信
call "C:Program Files (x86)DingDingDingtalkLauncher.exe" ::钉钉
call "C:Program Files (x86)foobar2000foobar2000.exe" ::音乐foobar2000
call "C:UsersAdministratorAppDataLocalProgramsMicrosoft VS CodeCode.exe" ::vs code
call "E:与专业相关的软件安装包ftp上传工具Xshell+XftpXshell.exe"

::打开文件夹
start "" "F:ona"
start explorer "F:ona管理系统_Energy-Monitor-UI"

::打开记事本
start "" "F:ona资料.txt"

::启动项目(cmd方式)
start  cmd /k "cd/d F:o***管理系统_Energy-Monitor-UI&&npm run serve:dev"
::启动项目(powershell方式,-NoExit保持窗口不退出,同时运行多个命令用分号;隔开)
@echo off
PowerShell -Command "Start-Process powershell -ArgumentList  -NoExit ,  -Command ,  Set-Location E:ona企业能源监测前端_管理系统_Energy-Monitor-UI; npm run serve:test "

::将命令内容复制到剪贴板
echo cd E:ona企业能源监测前端_管理系统_Energy-Monitor-UI | clip

::用XCOPY 复制目录树,/e 参数是包括空目录。但如果目标路径存在,则不能复制。
xcopy F:ona企业能源监测前端_管理系统_Energy-Monitor-UIdist D:迅雷云盘 /e

打开本地的软件 方式二:

::注意:如果文件路径与文件名有中文,需要用记事本打开,另存为编码ANSI。VS Code会将文件转成UTF-8 。【REM 和 :: 均可用于注释】

@echo off
REM 关闭命令回显

::打开记事本
start "" "E:ona资料.txt"

::设置变量(由于下面有多个地方用到)
set FilePath=E:ona企业能源监测前端_管理系统_Energy-Monitor-UI

::打开文件夹
::start explorer "E:ona企业能源监测前端_管理系统_Energy-Monitor-UI"
start "" %FilePath%

::启动项目(打开PowerShell窗口)
@echo off
PowerShell -Command "Start-Process powershell -ArgumentList  -NoExit ,  -Command ,  Set-Location %FilePath%; npm run serve:test "

::将命令内容复制到剪贴板
echo cd %FilePath% | clip

REM 启动QQexe文件
start "" "C:Program FilesTencentQQNTQQ.exe"

REM 启动微信exe文件
start "" "C:Program FilesTencentWeixinWeixin.exe"

REM 启动钉钉exe文件
start "" "C:Program Files (x86)DingDingDingtalkLauncher.exe"

REM 启动vs code exe文件
start "" "C:UsersAdministratorAppDataLocalProgramsMicrosoft VS CodeCode.exe"

REM 启动SourceTree exe文件
start "" "C:UsersAdministratorAppDataLocalSourceTreeSourceTree.exe"

REM 启动 音乐foobar2000
start "" "C:Program Files (x86)foobar2000foobar2000.exe"

REM 脚本执行完毕
echo All applications have been started.

::直接退出CMD窗口
exit
::暂停(如果上面exit退出,下面的暂停不会执行)
::pause

将打包好的前端项目dist,复制到另一个文件夹。由于后端频繁叫前端打包项目给他,所以才写这个处理程序。处理程序没有添加git命令,是由于开发的分支一直会有变动。所后来端执行前,需要用git获取最新代码。

::启动打包命令,打包vue项目
start  cmd /k "cd/d F:ona企业能源监测前端_管理系统_Energy-Monitor-UI&&npm run build:dev"

::ping -n 10 127.0.0.1
::等待10秒,并且可以按***键跳过等待
TIMEOUT /T 10 /NOBREAK

::声明两个变量(第一个变量是前端打包出来的文件夹,第二个变量是后端放静态内容的文件夹)
SET SourceFile=F:ona企业能源监测前端_管理系统_Energy-Monitor-UIdist
SET TargetFile=D:java_web_serve***

@echo off
:loop
::每隔3s执行一次
@ping 127.0.0.1 -n 3 >nul
::检测dist文件夹是否存在
IF EXIST %SourceFile% (
  ::删除目标文件夹下面的所有文件
  del /f /s /q %TargetFile%
  ping -n 5 127.0.0.1
  ::复制
  xcopy %SourceFile% %TargetFile% /e

  ::关闭CMD窗口
  exit
) ELSE (
  echo dist文件夹不存在!缘由:正在打包,请不要关闭窗口
)
goto loop

PowerShell 和 CMD(命令提示符)的区别:
1.CMD默认是ANSI的编码(UTF-8编码中文会乱码),PowerShell支持UTF-8编码
2.语言语法不一样,底层实现不一样
3.(不再展开描述:请百度【PowerShell 和 CMD(命令提示符)的区别】)

将cmd命令窗口的编码格式永久设置为utf-8 :
https://blog.csdn.net/qq_43331089/article/details/125090126

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...