🥕 开机自动启动前端项目脚本

原文地址: alvis.org.cn/posts/de888...

前言 📝

在公司中可能会有启动多个前端的需求,如果早晨到公司之后每个项目都运行一遍命令很麻烦。或者是周末的时候后端同事来加班,但是需要你的前端。你不能专门跑到公司给后端同事启动一个前端项目吧,这样太麻烦了。于是我就写了一个专属于windows上的脚本。

1. 脚本

在widnwos系统中,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup存放在该目录下面的.bat脚本会自动执行,但是.ps1脚本并不会自动执行。本片文章用.ps1脚本进行演示。

脚本(start_chuming_plm6_project.ps1):

bash 复制代码
# 定义要搜索的根目录
$rootDir = "G:\xxxx"

# node版本
$nodeVersion = 14.20.0

# 获取所有以 "xxx" 开头的目录
$plm6Dirs = Get-ChildItem -Path $rootDir -Directory | Where-Object { $_.Name -like "xxx*" }

# 遍历每个目录
foreach ($dir in $plm6Dirs) {
    $projectDir = Join-Path $rootDir $dir.Name

    # 检查是否有 package.json 文件,确认是一个前端项目
    if (Test-Path (Join-Path $projectDir "package.json")) {
        Write-Host "start_project: $projectDir"
        
        # 使用 cmd /c 执行多个命令,并将窗口最小化
        Start-Process cmd.exe -ArgumentList "/c `"$env:ProgramFiles\nodejs\nvm\nvm.exe` use $nodeVersion && cd `"$projectDir`" && npm run dev" -WindowStyle Minimized
        
    } else {
        Write-Host "$projectDir not is project because package.json is not exist"
    }
}

2. 设置开机自启

2.1 通过bat脚本去运行ps1脚本

  1. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 中创建一个新的 .bat 文件,比如 RunMyScript.bat

  2. .bat 文件中添加以下内容:

bash 复制代码
powershell -ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1"

其中,将 C:\path\to\your\script.ps1 替换为实际的 PowerShell 脚本路径。

  1. 保存并关闭文件。这样,Windows 会在启动时自动运行 .bat 文件,从而间接启动你的 PowerShell 脚本。

注意: .bat脚本只有在输入开机密码,登录之后才会开始运行。

2.2 使用任务计划程序来启动 PowerShell 脚本

  1. 打开任务计划程序(可以在开始菜单中搜索 "Task Scheduler")。
  2. 点击 创建任务
  1. 在"常规"选项卡中,命名任务并选择 使用最高权限运行
  1. 在"触发器"选项卡中,点击 新建 ,将触发器设置为 在系统启动时
  1. 在"操作"选项卡中,选择 启动程序,在"程序或脚本"中输入:
bash 复制代码
powershell
  1. 在"添加参数"栏中,输入以下内容:
bash 复制代码
-ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1"

C:\path\to\your\script.ps1 替换为实际脚本路径。

  1. 保存任务。这样,系统启动时(即登录前)脚本就会执行,不需要输入密码。
相关推荐
酉鬼女又兒1 天前
HTML零基础快速入门篇(可用于备赛蓝桥杯Web应用开发) 牛客手把手戴刷FED1~8:基本标签,基本标签,媒体标签详解
前端·职场和发展·蓝桥杯·html·web
weixin199701080161 天前
搜好货商品详情页前端性能优化实战
java·前端·python
SuperEugene1 天前
NPM Script 实战:常用命令设计与封装|Vue 工程化篇
前端·javascript·vue.js·前端框架·npm
前端进阶之旅1 天前
React 18 并发特性实战指南:提升大型应用性能的关键技术
前端·react.js·前端框架
恋猫de小郭1 天前
Android 性能迎来提升:内核引入 AutoFDO 普惠所有 15-16 设备
android·前端·flutter
小霍同学1 天前
Vue 动态表单(Dynamic Form)
前端·vue.js
Dragon Wu1 天前
Taro 小程序开发注意事项(不定期记录更新)
前端·javascript·小程序·typescript·taro
wangfpp1 天前
多端统一你真的会了吗?
前端·javascript·架构
小霍同学1 天前
Vue 动态组件(Dynamic Components)
前端·vue.js
代码煮茶1 天前
Vue3 组件封装实战 | 从 0 封装一个可复用的表格组件(附插槽 / Props 设计)
前端·vue.js