Board logo

标题: [其他] 求助!批处理自动更新SVN,怎么自动输入 [打印本页]

作者: zhang1991    时间: 2018-3-20 11:10     标题: 求助!批处理自动更新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回答?
作者: yhcfsr    时间: 2018-3-20 16:47

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

作者: Batcher    时间: 2018-3-20 17:14

svn update "%update_path%" --username "%user_name%" --password "%password_str%" --accept theirs-full --non-interactive --trust-server-cert
加上这两个参数试试
作者: zhang1991    时间: 2018-3-20 20:05

回复 3# Batcher


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

回复 2# yhcfsr

不行,试过了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2