一键切换node版本
接手的项目,导致node好几个版本,来回切换。之前都是通过nvm 命令来手动切换node版本,最近在想为啥不用windows的批处理来弄一个一键切换工具呢?
上截图
这是通过bat执行的结果,实现自动扫描已安装的版本,显示当前使用的版本,通过数字键方便切换(没有去做超过9个版本的适配,如果大神有更好的办法,也可留言,哈哈哈哈)
在桌面或任意文件夹右键新建一个文本文件
名字随便起只要不是中文就可以(文件编码是UTF-8)
以下是bat脚本代码
@echo off chcp 65001 >nul title NVM Node 版本切换工具 color 0A setlocal enabledelayedexpansion :MENU cls echo. echo ========================================== echo NVM Node 版本切换工具 echo ========================================== set "current_ver=" for /f "tokens=*" %%a in ('nvm list ^| findstr /r "^ *"') do ( echo "%%a" | findstr /c:"*" >nul && ( for /f "tokens=1,2" %%b in ("%%a") do ( if "%%b"=="*" (set "current_ver=%%c") else (set "current_ver=%%b") ) ) ) if defined current_ver ( echo 当前使用版本:!current_ver! ) else ( echo 当前使用版本:未设置(请先运行 nvm use <version>) ) echo ------------------------------------------ :: 扫描所有已安装版本 set count=1 set found=0 echo 正在扫描已安装版本... echo ------------------------------------------ for /f "tokens=1" %%a in ('nvm list ^| findstr /r "^ *[^ ]"') do ( set "v=%%a" if "!v!"=="*" (set v=) else ( set "ver!count!=!v!" echo [!count!] !v! set /a count+=1 set found=1 ) ) if %found% equ 0 ( echo 未检测到已安装的 Node.js 版本。 echo 请先使用 nvm install 安装所需版本。 pause exit /b ) echo ------------------------------------------ echo [0] 退出 echo. set /p choice=请输入选择: if "%choice%"=="0" exit /b if defined ver%choice% ( echo. echo 正在切换到 Node.js !ver%choice%! ... call nvm use !ver%choice%! echo. echo ====================================== echo 切换成功! echo 当前版本:!ver%choice%! echo ====================================== echo. pause goto MENU ) else ( echo 无效的选择,请重新输入。 timeout /t 1 >nul goto MENU )