2010-02-16 60 views
12

我必须从perforce仓库每天下载一个文件。如何使用perforce命令行登录和下载文件

目前我通过选择该文件并使用“获取最新版本”选项手动执行此操作。

我想写一个脚本,我将安排在我的Windows任务schedular每天获得文件。

请帮助我/指导我如何自动执行此任务。

我在Windows XP操作系统中使用p4v客户端软件。

回答

0

您需要的命令是p4 sync

+0

当我发出像sync这样的任何命令时,基本上除了p4 sync之外,都会添加命令行,无限期地冻结。我的p4config,p4port被设置,它甚至从不显示错误。 – Drew

2

bat您可以使用自带的P4V p4.exe命令行工具并发出sync命令:

p4 sync myFileThatINeedToGetDaily.txt 
+0

感谢您的回复,我尝试了您的建议,但是我收到了一条错误消息:“访问用户sanirudh”未被'p4 protect'启用。“ – anirudh

12

使用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支持并询问他们。

+0

感谢您的回应,我尝试了您提到的方式,但我收到了错误 “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

+0

@anirudh:您需要使用大写 “-P”。“-p”用于在命令行上覆盖P4PORT;正如您从错误消息中看到的那样,p4.exe会尝试连接到服务器“merijan007”。 – rjnilsson

+0

你可以使用P4设置P4USER = username和P4PASSWD = password,所以你不需要每次都在命令行上放入那些东西 –

1

之前发行同步,确保你已经登录并设置端口和客户视图 P4 -u myuser的-P密码MyPassWd

P4设置P4PORT =服务器:NNNN

P4同步FILE1.TXT

相关问题