基础知识:
- a.bat 以 call 的方式调用 b.bat, b.bat可以直接使用a.bat中声明的变量。
bat调用之后,均以 ERRORLEVEL 为返回值,0表示成功,1表示失败
goto 可以跳转去执行特定的代码,例如
@echo off
set a="A"
call 2.bat
if ERRORLEVEL 1 goto fail
if ERRORLEVEL 0 goto succ
:fail
echo ==============失败==============
::做你想做的操作
::exit是返回值
pause
exit /b 1
:succ
echo ==============成功==============
::做你想做的操作
::exit是返回值?
pause
exit /b 0
----------------------------------------
2.bat如下
@echo off
exit /b 01
- goto 跳转的地方需要用 :名称 进行声明,例如: :main
常用操作:
- 判断文件夹是否存在,不在则创建文件夹
if not exist %PATH% (
mkdir %PATH%
)
- 删除文件夹中大于当前时间的操作
::删掉未来编译的文件
cd 文件夹目录
::获取当前系统时间
set d=%date:~0,10%
set t=%time:~0,5%
set now="%d% %t%"
echo 开始检查
for /R %%s in (*) do (
if "%%~ts" GTR %now% (
echo 删除: %%s
del %%s
)
)
echo 检查结束!
- bat获得执行语句后的返回值 , in(‘这里输入指令’)
@echo off
for /f "delims=" %%i in ('node -v') do (
set "SysSeconds=%%i"
)
echo %SysSeconds%
::git reset --hard
pause
- 从dos窗口输入参数,并赋值给变量VAR
set /p VAR = >nul
- 修改环境遍历
参考文章:https://www.cnblogs.com/skyhuangdan/p/5486734.html
@echo off
echo %path%|findstr /i "erl8.1"&&(goto run)
set NEW_PATH=%path:erl-23.0=erl8.1%
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%NEW_PATH%"
echo 已经替换为erl8.1
goto end
:run
set NEW_PATH=%path:erl8.1=erl-23.0%
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%NEW_PATH%"
echo 已经替换为=erl-23.0
goto end
:end
set "path=%NEW_PATH%"
pause