2010-02-16 8 views
12

Ich muss eine Datei täglich von perforce depot herunterladen.wie man sich anmeldet und Datei mit der Befehlszeile perforce herunterlädt

Zur Zeit mache ich es manuell, indem ich diese Datei auswähle und die Option "Get latest version" benutze.

Ich möchte ein Skript schreiben, das ich in meinem Windows Task Schedular planen werde, um die Datei täglich zu bekommen.

Bitte helfen Sie mir/führen Sie mich, wie Sie diese Aufgabe automatisch erledigen.

Ich benutze p4v Client-Software in Windows XP Betriebssystem.

Antwort

0

Der von Ihnen benötigte Befehl ist p4 sync.

+0

Wenn ich irgendwelche Befehle wie sync, hinzufügen, im Grunde alles außer p4 sync ausgibt, friert die Befehlszeile auf unbestimmte Zeit ein. Mein p4config, p4port ist eingestellt und es wird nie ein Fehler angezeigt. – Drew

2

In einem bat können Sie das p4.exe Kommandozeilen-Tool verwenden, das mit P4V kommt und geben Sie den Befehl sync:

p4 sync myFileThatINeedToGetDaily.txt 
+0

Vielen Dank für die Antwort, ich habe versucht, wie Sie vorgeschlagen, aber ich habe eine Fehlermeldung "Zugriff für Benutzer 'sanirudh' wurde nicht von 'p4 protect' aktiviert." – anirudh

12

P4V Verwendung wird es schwer zu automatisieren. Ich schlage vor, dass Sie stattdessen den Befehlszeilenclient p4.exe verwenden. Wenn es nur eine Datei, die Sie den Inhalt man braucht einfach „p4 print“ verwenden und die Notwendigkeit zu vermeiden, einen Arbeitsbereich (Client) spec erstellen, zB:

p4 print -o <local filename> //depot/path/to/file

Beachten Sie, dass der obige Befehl erfordert, dass Sie bereits auf dem Perforce-Server angemeldet sein. Es gibt mindestens zwei Möglichkeiten, um dieses:

1) Geben Sie den Benutzernamen und das Passwort auf dem command-line (nicht wirklich aus Sicherheitsgründen empfohlen):

p4 -u myuser -P mypasswd print -o <local filename> //depot/path/to/file

2) Verwenden Sie einen dedizierten Hintergrund Benutzer für die Aufgabe , mit einer unbegrenzten Login Ablaufzeit (siehe p4 group and the Timeout field):

p4 -u backgrounduser print -o <local filename> //depot/path/to/file

A "Hintergrund Benutzer" bezeichnet nur zugelassen für die Durchführung automatisierte Aufgaben können kostenlos von Perforce Software bezogen werden. Wenden Sie sich an den Perforce-Support und fragen Sie ihn danach.

+0

Vielen Dank für die Antwort, ich habe versucht, wie Sie erwähnt, aber ich habe einen Fehler "H: \> p4 -u asahu -p Merijan007 Drucken -oc: \ temp.txt //dbx/Releases/SC/1.1.0.6/ bui ld_info.txt Perforce Client-Fehler: eine Verbindung zum Server fehlgeschlagen; $ P4PORT überprüfen TCP fehlgeschlagen merijan007 verbinden merijan007: Service unbekannt – anirudh

+0

@anirudh: Sie müssen Großbuchstaben "-P" verwenden...."-p" wird verwendet, um P4PORT in der Befehlszeile zu überschreiben; Wie Sie aus der Fehlermeldung entnehmen können, versucht p4.exe, sich mit dem Server "merijan007" zu verbinden. – rjnilsson

+0

Sie können p4 set P4USER = Benutzername und P4PASSWD = Passwort verwenden, so dass Sie nicht jedes Mal auf die Kommandozeile setzen müssen –

1

Vor Sync Ausstellen, stellen Sie sicher, dass Sie sich angemeldet haben und den Port und Client-View gesetzt p4 -u myuser -P mypasswd

p4 eingestellt P4PORT = server: nnnn

p4 sync file1.txt

Verwandte Themen