2010-02-16 6 views
12

Tengo que descargar un archivo diariamente desde el depósito forzado.cómo iniciar sesión y descargar el archivo utilizando la línea de comando force

Actualmente lo hago manualmente seleccionando ese archivo y usando la opción "Obtener la última versión".

Quiero escribir un script que programaré en mi tarea de Windows en schedular para obtener el archivo a diario.

Por favor ayúdenme/guíenme cómo hacer esta tarea automáticamente.

Estoy usando el software de cliente p4v en el sistema operativo Windows XP.

Respuesta

0

El comando que necesita es p4 sync.

+0

Cuando ejecuto comandos como sincronización, agrego básicamente cualquier cosa además de la sincronización p4, la línea de comandos se congela indefinidamente. Mi p4config, p4port está configurado y nunca muestra un error. – Drew

2

En un bat puede utilizar la herramienta de línea de comandos p4.exe que viene con P4V y emitir el comando sync:

p4 sync myFileThatINeedToGetDaily.txt 
+0

Gracias por la respuesta, intenté como sugirió, pero recibí un error "Acceso para el usuario 'sanirudh' no ha sido habilitado por 'p4 protect'." – anirudh

12

Usando P4V hará que sea difícil de automatizar. Le sugiero que utilice el cliente de línea de comandos, p4.exe, en su lugar. Si sólo hay un archivo que necesita el contenido de simplemente podría utilizar "imprimir P4" y evitar la necesidad de crear una especificación de espacio de trabajo (cliente), por ejemplo:

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

Tenga en cuenta que el comando anterior se requiere para iniciar sesión en el servidor de Perforce. Hay al menos dos maneras de evitar esto:

1) especificar el nombre de usuario y contraseña en el command-line (no muy recomendable por razones de seguridad):

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

2) Usar un usuario fondo dedicado a la tarea , con un tiempo de caducidad de acceso ilimitado (ver p4 group and the Timeout field):

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

una licencia "usuario de fondo" designado por sólo realizar las tareas automatizadas se pueden obtener sin costo adicional de Perforce Software. Intente ponerse en contacto con el soporte de Perforce y pregúnteles sobre esto.

+0

Gracias por la respuesta, intenté como mencionaste, pero obtuve un error "H: \> p4 -u asahu -p merijan007 print -oc: \ temp.txt //dbx/Releases/SC/1.1.0.6/ Bui ld_info.txt Perforce error del cliente: Conectar a servidor no pudo; compruebe $ P4PORT conexión TCP a merijan007 fallado merijan007: servicio desconocido – anirudh

+0

@anirudh: Es necesario utilizar mayúsculas "-P"...."-p" se utiliza para anular P4PORT en la línea de comandos; como puede ver en el mensaje de error p4.exe intenta conectarse al servidor "merijan007". – rjnilsson

+0

Puede usar p4 establecer P4USER = nombre de usuario y P4PASSWD = contraseña, por lo que no necesita poner eso en la línea de comando cada vez –

1

antes de emitir sincronización, asegúrese de que ha iniciado la sesión y establecer la vista del puerto y el cliente p4 -u miUsuario -P MyPassWd

p4 establecer P4PORT = server: nnnn

p4 sincronización file1.txt

Cuestiones relacionadas