2010-02-16 59 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

相關問題