本帖最后由 binghejin 于 2014-1-23 19:50 编辑
如果你的服务器开了FTP的话,那么采用FTP下载之后再运行的思路比较可行!但是具体你要怎样,我还不是很清楚,可以这样写,思路是:
当客户机上开机运行批处理时,首先是登陆FTP查看服务器上的FTP文件是否有更新,如果没有则直接运行客户机上的批处理,如果有更新,那么就下载服务器上的新的批处理文件,下载完成后自动运行新的批处理文件。
要求:
1、必须有FTP服务器
2、你的批处理文件中要有一行这样的内容:“::版本=X”,不含引号。
3、服务器上除了你的批处理文件外,还需要一个gx.txt文件,里面的内容是一个数字。
3、当需要更新你的批处理文件时,就把服务器上的gx.txt文件中的数字修改成比批处理文件中的数字高即可!
例如:目前客户机上的批处理文件中申明版本号的数字是::版本=1,那么你只需要将服务器上gx.txt文件中的数字改成比1大的即可,例如2,当客户机上的批处理文件运行时就会自动下载你服务器上的新批处理了。
不过要记得,当更新之后,客户机上的批处理中版本号就已经变成2了,这时候,如果你再更新文件,就要将服务器上gx.txt文件中的数字改成比2高的就可以了。- @echo off
- :start
- cls
- echo=
- echo 正在检测远程服务器是否有更新
- echo =============================
- echo 正在查询远程服务器。。。
- echo=
- if exist 123.txt del 123.txt
- echo open FTP服务器IP>123.txt
- echo 登陆用户名>>123.txt
- echo 登陆密码>>123.txt
- echo prompt>>123.txt
- echo get gx.txt>>123.txt
- echo bye>>123.txt
- ftp -s:123.txt >nul
- if exist 123.txt del 123.txt
- if exist gx.txt goto bijiao
- goto pichuli
- :pichuli
- if exist gx.txt del gx.txt
- if exist ver.txt del ver.txt
- if exist 123.txt del 123.txt
- 这里写你的批处理文件内容
- goto end
- :bijiao
- for /f "delims=" %%a in ('type gx.txt') do (set ver1=%%a)
- findstr /b "版本=" 你的批处理文件名.bat >ver.txt
- for /f "tokens=2 delims=V" %%b in (ver.txt) do (set ver2=%%b)
- if %ver1% GTR %ver2% (goto sj) else goto pichuli
- :sj
- if exist gx.txt del gx.txt
- if exist ver.txt del ver.txt
- if exist 123.txt del 123.txt
- echo open FTP服务器IP>123.txt
- echo 登陆用户名>>123.txt
- echo 登陆密码>>123.txt
- echo prompt>>123.txt
- echo get 服务器上新批处理文件名.bat>>123.txt
- echo bye>>123.txt
- ftp -s:123.txt >nul
- if exist 123.txt del 123.txt
- goto pichuli
- :end
复制代码
|