Windows自动脚本,我已自动同步GitHub仓库为例。
先上源码,可以直接用TXT写,然后将文件后缀改为.bat。
start "C:\Windows\System32\cmd.exe"
cd /
G:
cd Goulandis\Git\Temp
git add .
git commit -m "From Auto Updata"
git push
pause
git add .
到git push
是git同步远程仓库的命令双击运行,测试一下执行效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DQPRFXr0-1591020559313)(【BAT】BATWindows自动脚本同步GitHub远程仓库/Snipaste_2020-01-21_16-04-19.png)]
如果想要脚本在CMD命令行的任意位置都可以调用执行的话,可以给脚本专门创建一个文件夹,将脚本放入其中,然后再将此路径添加到Windows的环境变量中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UzNoawvw-1591020559317)(【BAT】BATWindows自动脚本同步GitHub远程仓库/Snipaste_2020-01-21_16-29-49.png)]
然后,我们再测试运行一下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TkL1RQp6-1591020559319)(【BAT】BATWindows自动脚本同步GitHub远程仓库/Snipaste_2020-01-21_16-31-22.png)]
我的脚本名字叫GitPushTemp.bat,执行成功
要向让脚本定时自动自行,我就需要用的Windows的自动任务计划程序,Windows实现自动任务有三种常用的方法:
我这里使用Windows任务计划程序为例。
只需要将我们的脚本程序添加到Windows任务计划程序中,设定好执行时间,就可以实现脚本的定时自动执行了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TsJveJS-1591020559321)(【BAT】BATWindows自动脚本同步GitHub远程仓库/Snipaste_2020-01-21_16-37-15.png)]
创建一个定时任务按照提示添加进入脚本,就可以了,到点之后脚本就会自动执行。
上面的脚本算是极其简单的脚本了,要想编写功能更为强大脚本,我们就需要了解一些DOS语法了。
我先来看一个复杂点的脚本,这里以脚本为例,选择一些较为常用的语法来介绍
Test.bat
rem Test.bat
start "C:\Windows\System32\cmd.exe"
for %%i in (1,2,3) do call l1.bat
l1.bat
rem l1.bat
choice /C 123 /M "选择执行分路md"
if errorlevel 3 goto l3
if errorlevel 2 goto l2
if errorlevel 1 goto l1
:l3
call l1.bat
goto end
:l2
echo "你选择了支路2"
goto end
:l1
echo "你选择了支路1"
goto end
:end
pause
for i in list:
%%i就是i参数,%%
后的字母可以是任何字母不一定非要是i,(1,2,3)
就是list,括号中有几个元素for循环就循环几次,每次执行将括号中的元素复值给%%i,do之后能且仅能接一句DOS命令作为循环体语句,%%i可以在 do之后的循环体语句中使用,DOS的for循环必须使用多脚本调用的形式才能实现多执行体的循环。