原标题:windows批处理文件批处理批处理文件 套娃太有意思了忍不住保存着这个说法
如果能用cmd自己进入服务项目进行运行了,而自己在别的目录下写一个总bat去运行那个项目中的服务程序或服务bat却不能正常启动 原因往往是在运行总bat时没有真正进入服务bat的目录中,所以在服务bat的目录下所依赖的环境变量无法加载。 解决方法也很简单,那就是总bat中先cd进入服务bat的目录,再运行服务bat 比如写成这样
cd F:\SelfWorks\SaveMyLife!\UnBlockNeteaseMusic\UnblockNeteaseMusic-master && start startup.bat cd F:\Tools\SSR && start ShadowsocksR.exe这里要用start命令,否则总bat会变成第一行的服务的命令行而不运行后面的启动服务命令 当然,windows中跨盘符进入目录要多输入一行盘符指定: 这是放在桌面上的bat
这个bat可以设置开机自启, 直接放在
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下就好
但是有些服务需要先联网,所以我们在开机自启的这个bat中添加一些语句:
@echo off :start ping www.baidu.com -n 2 |findstr "TTL="&&goto next||goto start :next echo connected to internet! F: F:\SelfWorks\SaveMyLife!\allStartup.bat含义就是,当开始后,不断地ping 百度(每隔两秒ping一次)ping通后就运行next中我们的脚本
否则回到start进行下一次ping百度
最后记得开你的第二个桌面进行自己的工作 不然一堆命令行还挺难过的 有可以隐藏自己的命令行的方法,但是我觉得不太方便debug(如果你发现某个服务不正常工作了) 所以这里就不整合了(就是懒鬼一个!!)