您的位置:首页 > 其它

开机bat自动运行多程序

2016-05-24 15:13 267 查看
先描述业务需求

建一个批处理文件,在打开电脑时启动所需的三个软件,每个程序间隔5S启动

上代码~~

@echo off
color 2a

title 多任务工具 BY The Lostman

set firstName=软件狗
set secondName=APIDC
set thirdName=收银系统
set file=c:\base.ini

if exist c:\base.ini (
echo 文件已存在
goto main
) else (goto init)

:init
echo 执行初始化...
echo 创建文件
echo.>c:\base.ini
pause
goto main

:Main
cls
::if exist c:\base.ini (echo 文件已存在) else (echo 文件不存在)

for /f "tokens=1,* delims==" %%a in (
'type %file% ^|findstr /i "dirPath"'
) do (
set dirPath=%%b
)

if defined dirPath (
echo 已获取文件保存路径 %dirPath%
echo dirPath=%dirPath%>%file%
goto setPath
) else echo 文件保存路径不能为空请重新输入...
set /p "dirPath=请输入文件保存路径,然后按回车..."
pause
goto Main

:setPath
if exist %dirPath%\appPath.ini (goto setValue) else (

echo.
echo.	===开始设置路径信息===
echo.
goto getPath
)

:getPath
::获取程序路径
set /p sorftDog=  请将%firstName% 拖入此框获取路径
set /p apidc=  请将%secondName% 拖入此框获取路径
set /p c3=  请将%thirdName% 拖入此框获取路径

echo sorftDog=%sorftDog%>%dirPath%\appPath.ini
echo apidc=%apidc%>>%dirPath%\appPath.ini
echo c3=%c3%>>%dirPath%\appPath.ini
echo.
echo.	====路径信息已保存====
echo.
start "" %dirPath%\appPath.ini
pause

:setValue
::设置值
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1,* delims==" %%a in (
'type %dirPath%\appPath.ini ^|findstr /i "sorftDog"'
) do (
set appdog=%%b
)

for /f "tokens=1,* delims==" %%a in (
'type %dirPath%\appPath.ini ^|findstr /i "apidc"'
) do (
set appdc=%%b
)

for /f "tokens=1,* delims==" %%a in (
'type %dirPath%\appPath.ini ^|findstr /i "c3"'
) do (
set appc3=%%b
)

echo %firstName%路径是 %appdog%
echo %secondName%路径是 %appdc%
echo %thirdName%路径是 %appc3%

::运行
timeout /T 5 /nobreak
echo 启动%firstName%...
start "" %appdog%

timeout /T 5 /nobreak
echo 启动%secondName%...
start "" %appdc%

timeout /T 5 /nobreak
echo 启动%thirdName%...
start "" %appc3%
::退出
timeout /T 3 /nobreak
goto end

:end

分析一下思路:

因为是启动就要运行软件,所以我要将三个软件的路径记录在appPath.ini文件里面调用,只有在第一次运行的时候配置一下即可。但是在调用appPath.ini 时,需要指定文件的绝对路径,所以有了开头输入文件保存路径的配置。三个软件的路径就保存在改路径下的appPath.ini文件中。

注意:

在xp系统下直接拖拽快捷方式是运行不起来的

如果手动输入,则需要输入软件的绝对路径并用引号引起来(c:\Progames File\... 这种路径因为有空格,所以需要引号引起来)推荐大家在xp系统下用下图的方法直接获取路径:

依然是在xp系统下,timeout是不能用的,替换成ping localhost -n 5 即可



如何建立开机就执行这个bat呢,无论是window 7 还是 xp 只要将bat文件拷贝至开始-->所有程序-->启动 目录下面即可,快点试试吧

转载请标明出处:http://my.oschina.net/superzhu/blog/680496

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: