bat 和 shell 编制脚本

基础

变量定义 和 获取当前执行文件目录

  • bat
### 变量名=变量值
// set 变量名=变量值
set currentPath=%~dp0
  • shell
### 变量名=变量值
currentPath=$(cd "$(dirname "$0")"; pwd)

变量使用

  • bat
%currentPath%
  • shell
// $currentPath 也可
${currentPath}

处理变量字符拼接路径

  • bat
"%currentPath%\dist"
  • shell
"%{currentPath}/dist"

删除文件夹

  • bat
rd /S /Q "%currentPath%\dist\scripts"

*shell

rm -rf  ${currentPath}/dist/scripts

判断文件夹是否存在、并删除

  • bat
if exist "%webapp%\resources\scripts" ( rd /S /Q "%webapp%\resources\scripts")
  • bash
if [ -d  ${webapp}/resources/scripts ]
then
    rm -rf  ${webapp}/resources/scripts
fi

移动文件加

  • bat
move  "%currentPath%\src\resources\scripts" "%currentPath%\dist\"
  • shell
mv  "${currentPath}/src/resources/scripts" "${currentPath}/dist/"

调用 node、npm 命令

  • bat
//这里有个大坑哦,直接 npm run build 或其他调用,会自动退出脚本。所以用 call
call npm run build
  • shell
npm run build

案例

src下调用npm build 构建webapp

bat demo : 点击下载

shell demo : 点击下载

写作背景

之前,写过不少脚本,但是每次写过就掉在一边了,下次要用都是找不着的那种。
很尴尬!
所以,在这里写下来。