我必须从perforce仓库每天下载一个文件。如何使用perforce命令行登录和下载文件
目前我通过选择该文件并使用“获取最新版本”选项手动执行此操作。
我想写一个脚本,我将安排在我的Windows任务schedular每天获得文件。
请帮助我/指导我如何自动执行此任务。
我在Windows XP操作系统中使用p4v客户端软件。
我必须从perforce仓库每天下载一个文件。如何使用perforce命令行登录和下载文件
目前我通过选择该文件并使用“获取最新版本”选项手动执行此操作。
我想写一个脚本,我将安排在我的Windows任务schedular每天获得文件。
请帮助我/指导我如何自动执行此任务。
我在Windows XP操作系统中使用p4v客户端软件。
您需要的命令是p4 sync
。
在bat
您可以使用自带的P4V p4.exe
命令行工具并发出sync
命令:
p4 sync myFileThatINeedToGetDaily.txt
感谢您的回复,我尝试了您的建议,但是我收到了一条错误消息:“访问用户sanirudh”未被'p4 protect'启用。“ – anirudh
使用P4V将很难实现自动化。我建议你改用命令行客户端p4.exe。如果只有一个,你需要你的内容可以简单地使用“P4打印”,避免了创建工作区(客户端)规格需要的文件,如:
p4 print -o <local filename> //depot/path/to/file
注意上面的命令需要你已经登录到Perforce服务器。有解决这个至少在两个方面:
1)指定的command-line的用户名和密码(不是真的出于安全考虑):
p4 -u myuser -P mypasswd print -o <local filename> //depot/path/to/file
2)使用专用的后台用户的任务,具有无限的登录期满时间(见p4 group and the Timeout field):
p4 -u backgrounduser print -o <local filename> //depot/path/to/file
持牌“背景用户”指定用于仅执行自动化任务可以从Perforce软件免费获得。尝试联系Perforce支持并询问他们。
感谢您的回应,我尝试了您提到的方式,但我收到了错误 “H:\> p4 -u asahu -p merijan007 print -oc:\ temp.txt //dbx/Releases/SC/1.1.0.6/ BUI ld_info.txt Perforce的客户端错误: 连接服务器失败;检查$ P4PORT TCP连接到merijan007失败 merijan007:服务未知 – anirudh
@anirudh:您需要使用大写 “-P”。“-p”用于在命令行上覆盖P4PORT;正如您从错误消息中看到的那样,p4.exe会尝试连接到服务器“merijan007”。 – rjnilsson
你可以使用P4设置P4USER = username和P4PASSWD = password,所以你不需要每次都在命令行上放入那些东西 –
之前发行同步,确保你已经登录并设置端口和客户视图 P4 -u myuser的-P密码MyPassWd
P4设置P4PORT =服务器:NNNN
P4同步FILE1.TXT
当我发出像sync这样的任何命令时,基本上除了p4 sync之外,都会添加命令行,无限期地冻结。我的p4config,p4port被设置,它甚至从不显示错误。 – Drew