标题: [网络连接] 如何可以在客户机执行服务器的bat文件 [打印本页]
作者: 阳泉三星 时间: 2014-1-23 16:08 标题: 如何可以在客户机执行服务器的bat文件
现在有个想法,我有N多的客户机,每次开机的时候必须要执行一段批处理文件,就开几个程序。每次要换程序,或者更新的时候,就要一家一家的去改BAT文件,我想能不能做在我的总服务器上,让客户机来启动我服务器上的bat文件
我想的代码是客户机级bat文件是: start /wait http://XXX.XXX.XXX.XXX/1.BAT 。 服务器已经做好,这个1.bat是就是根据客户机上的文件做的 服务器上的1.bat里面是strart c:\1.exe 这个可以吗?
作者: 阳泉三星 时间: 2014-1-23 16:10
或者这样的 可以下载FTP上的一段TXT文件 然后本地来执行bat+txt文件
作者: mxxcgzxxx 时间: 2014-1-23 17:19
服务器已经做好,这个1.bat是就是根据客户机上的文件做的 服务器上的1.bat里面是strart c:\1.exe 这个可以吗?
可以运行1.bat,但会执行客户端的C盘下的1.exe,如果这个执行文件也在服务器上那就不能这样写
要写成start /wait http://XXX.XXX.XXX.XXX/1.exe
作者: 阳泉三星 时间: 2014-1-23 17:30
回复 3# mxxcgzxxx
这个不行的 你启动这个文件 网页会提示你下载的
作者: binghejin 时间: 2014-1-23 19:28
本帖最后由 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
复制代码
作者: 阳泉三星 时间: 2014-1-23 20:05
楼上的 这个的确是很不错 但是有点复杂了,这样每个客户机开机时间就会很长了 还是谢谢了 其实就是我服务器更新一个bat,下面客户机就更改执行 每次都通过服务器执行bat
作者: 522235677 时间: 2014-1-23 20:31
这简单啊,去找个vbs下载文件的代码。自动下载这个bat文件。然后打开就是了
作者: binghejin 时间: 2014-1-23 21:13
能通过服务器执行bat么?搬个板凳坐着看。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |