[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求助!批处理自动更新SVN,怎么自动输入

代码是这样的
  1. @echo off
  2. :: ******************************************************
  3. ::在user_name=后面填上自己的SVN账号
  4. set user_name=zhang
  5. ::在password_str=后面填上自己的SVN密码
  6. ::注意在符号"前加上反斜杠符号\
  7. set password_str=zhang123456
  8. :: ******************************************************
  9. echo *****************************************************
  10. echo SVN自动更新
  11. echo 有冲突,以服务器为准
  12. echo *****************************************************
  13. set update_path=%1%
  14. echo SVN cleanup...
  15. svn cleanup "%update_path%"
  16. echo 更新目录 "%update_path%"
  17. ::echo svn update "%update_path%" --username "%user_name%" --password "%password_str%" --accept theirs-full
  18. svn update "%update_path%" --username "%user_name%" --password "%password_str%" --accept theirs-full
  19. pause
  20. exit
复制代码
然后会弹出要求验证证书:
Error validating server certificate for ‘https://xxxxxxx‘:
......
<R>eject, accept <t>emporarily or accept <p>ermanently?
然后手动输入p,再回车,就能执行更新。
我想做的就是去掉手动输入这个步骤
后面就改成
  1. echo p | svn update "%update_path%" --username "%user_name%" --password "%password_str%" --accept theirs-full
复制代码
发现没有用,报了另一个错:
svn: E170013 和 svn: E230001,
有大神知道怎么解决吗?
刚学批处理,不知道这个算不算是echo回答?

回复 2# yhcfsr

不行,试过了

TOP

回复 3# Batcher


    试过了,还是报错,--non-interactive --trust-server-cert,报的一样错,网上找到一个解决方案,但是看不懂,方案是这样的:
服务器被从域中移了出来,visual svn server的certificate issuer还是和域的域名相关联,更改为本机IP就可以了。

TOP

svn update "%update_path%" --username "%user_name%" --password "%password_str%" --accept theirs-full --non-interactive --trust-server-cert
加上这两个参数试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. svn update "%update_path%" --username "%user_name%" --password "%password_str%" --accept theirs-full
  2. set/p=p<nul
复制代码

TOP

返回列表