找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27982|回复: 7

[网络连接] 如何可以在客户机执行服务器的bat文件

[复制链接]
发表于 2014-1-23 16:08:33 | 显示全部楼层 |阅读模式
现在有个想法,我有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:15 | 显示全部楼层
或者这样的 可以下载FTP上的一段TXT文件 然后本地来执行bat+txt文件
发表于 2014-1-23 17:19:23 | 显示全部楼层
服务器已经做好,这个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:36 | 显示全部楼层
回复 3# mxxcgzxxx


    这个不行的 你启动这个文件 网页会提示你下载的
发表于 2014-1-23 19:28:45 | 显示全部楼层
本帖最后由 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高的就可以了。
  1. @echo off
  2. :start
  3. cls
  4. echo=
  5. echo 正在检测远程服务器是否有更新
  6. echo =============================
  7. echo 正在查询远程服务器。。。
  8. echo=
  9. if exist 123.txt del 123.txt
  10. echo open FTP服务器IP>123.txt
  11. echo 登陆用户名>>123.txt
  12. echo 登陆密码>>123.txt
  13. echo prompt>>123.txt
  14. echo get gx.txt>>123.txt
  15. echo bye>>123.txt
  16. ftp -s:123.txt >nul
  17. if exist 123.txt del 123.txt
  18. if exist gx.txt goto bijiao
  19. goto pichuli
  20. :pichuli
  21. if exist gx.txt del gx.txt
  22. if exist ver.txt del ver.txt
  23. if exist 123.txt del 123.txt
  24. 这里写你的批处理文件内容
  25. goto end
  26. :bijiao
  27. for /f "delims=" %%a in ('type gx.txt') do (set ver1=%%a)
  28. findstr /b "版本=" 你的批处理文件名.bat >ver.txt
  29. for /f "tokens=2 delims=V" %%b in (ver.txt) do (set ver2=%%b)
  30. if %ver1% GTR %ver2% (goto sj) else goto pichuli
  31. :sj
  32. if exist gx.txt del gx.txt
  33. if exist ver.txt del ver.txt
  34. if exist 123.txt del 123.txt
  35. echo open FTP服务器IP>123.txt
  36. echo 登陆用户名>>123.txt
  37. echo 登陆密码>>123.txt
  38. echo prompt>>123.txt
  39. echo get 服务器上新批处理文件名.bat>>123.txt
  40. echo bye>>123.txt
  41. ftp -s:123.txt >nul
  42. if exist 123.txt del 123.txt
  43. goto pichuli
  44. :end
复制代码
 楼主| 发表于 2014-1-23 20:05:17 | 显示全部楼层
楼上的 这个的确是很不错 但是有点复杂了,这样每个客户机开机时间就会很长了 还是谢谢了 其实就是我服务器更新一个bat,下面客户机就更改执行 每次都通过服务器执行bat
发表于 2014-1-23 20:31:08 | 显示全部楼层
这简单啊,去找个vbs下载文件的代码。自动下载这个bat文件。然后打开就是了
发表于 2014-1-23 21:13:40 | 显示全部楼层
能通过服务器执行bat么?搬个板凳坐着看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:01 , Processed in 0.015029 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表