Archivo via FTP

Archivo via FTP

Postby MarioG » Fri Jun 10, 2011 3:14 pm

Estimados;
Tengo un archivo de texto alojado en sitio.
El que lo recupero y leo correctamente. Aunque lo que no encuentro, y necesito, es la manera de saber el numero total de lineas de tal archivo.
No encuentro ninguna función/metodo que me devuelva tal valor. De que manera podría hacerlo?
Aclaro que la idea no es bajarlo y luego desde ahí leer el nro de lineas, que si lo podría hacer con la función de xHarbour: FLineCount( <cFileName> ); aunque si no existe otra manera quizás sea el camino

desde ya muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Archivo via FTP

Postby JmGarcia » Fri Jun 10, 2011 8:12 pm

El comando wc (word count) de unix/linux con la clausula -l cuenta numero de líneas.
Si rediriges la salida asi: wc -l archivo > salida.txt tendras el resultado en el fichero de salida.txt.

Para ejecutar un comando remoto en una máquina unix/linux utiliza el objeto COMM RemoteShell.
Code: Select all  Expand view
oRemoteShell:=CreateObject("WScript.Shell")
oRemoteShell:Run("cmd /C rsh Equipo -l NombreDeUsuario -n wc -l archivo > salida.txt & exit",0,.F.)
oRemoteShell:=nil

El fichero de salida.txt se queda en el PC desde el que ejecutas el RemoteShell. Si en vez de poner ">" pones ">>" el fichero se queda en el servidor.

La segunda línea del código que te pongo la puedes modificar según donde quieras la salida.

En el PC desde el que ejecutas la RemoreShell (c:\tmp\salida.txt):
Code: Select all  Expand view
oRemoteShell:Run("cmd /C rsh Equipo -l NombreDeUsuario -n wc -l archivo > c:\tmp\salida.txt & exit",0,.F.)

O en el servidor, pero tendras que traerte por FTP el fichero (/home/tmp/salida.txt):
Code: Select all  Expand view
oRemoteShell:Run("cmd /C rsh Equipo -l NombreDeUsuario -n wc -l archivo >> /home/tmp/salida.txt & exit",0,.F.)


NOTAS:
cmd /C Ejecuta el comando especificado mediante el parámetro cadena y, después, se detiene.
rsh Ejecuta comandos en equipos remotos que ejecutan en el servicio RSH o un equivalente.
Sintaxis: rsh [Equipo] [-l NombreDeUsuario] [-n] [Comando]
Equipo Dirección IP del equipo remoto.
NombreDeUsuario Nombre de usuario, no hace falta password.
& exit salida de "consola" del ordenador remoto.

Según la documentación del MSDN http://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx esto es lo que dice sobre el método RUN del RemoteShell:
object:Run(strCommand, [intWindowStyle], [bWaitOnReturn])
strCommand: String value indicating the command line you want to run. You must include any parameters you want to pass to the executable file.
intWindowStyle: Optional. Integer value indicating the appearance of the program's window. Note that not all programs make use of this information. Value 0= Hides the window and activates another window.
bWaitOnReturn: Optional. Boolean value indicating whether the script should wait for the program to finish executing before continuing to the next statement in your script. If set to true, script execution halts until the program finishes, and Run returns any error code returned by the program. If set to false (the default), the Run method returns immediately after starting the program, automatically returning 0 (not to be interpreted as an error code).
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Archivo via FTP

Postby MarioG » Sat Jun 11, 2011 12:06 am

JM muchas gracias
Nunca utilice este tipo de comandos, pero con tu precisa esplicación seguramente todo va a salir bien o, habrá mas consultas :-)

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Archivo via FTP

Postby MarioG » Tue Jun 14, 2011 10:26 pm

jm; creo que necesito ayuda
Esto es lo que yo interpreto que tendría hacer
Code: Select all  Expand view

      oRemoteShell:=CreateObject("WScript.Shell")
      oRemoteShell:Run("cmd /C rsh 31.170.160.105 -l a3466084 -n wc -l /home/a3466084/public_html/Descargas/versiones.dat > \mgideas\sigeco\temp\versiones.dat & exit",0,.F.)
      oRemoteShell:=nil
 


Pero el archivo creado es de tamaño 0, seguramente algo no estoy haciendo bien
Amplio con los datos del sitio
Image
Image

que esta mal?
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Archivo via FTP

Postby JmGarcia » Sat Jun 18, 2011 9:01 pm

Deberia de funcionar.
Especifica la letra del disco en el fichero de salida.
En vez de \mgideas\sigeco\temp\versiones.dat
pon c:\mgideas\sigeco\temp\versiones.dat

Y por ultimo ¿ has probado el comando wc en la máquina 31.170.160.105 ?
El servidor remoto tiene que admitir RemoteShell.

Y una última prueba: abre una consola de MS-DOS y ejecuta
rsh 31.170.160.105 -l a3466084 -n wc -l /home/a3466084/public_html/Descargas/versiones.dat
deberia de "salir" el resultado.

RSH es un comando del S.O. del PC. En Windows-XP me funciona.

Algunos enlaces:
http://es.wikipedia.org/wiki/Rsh
http://en.wikipedia.org/wiki/Remote_Shell
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Archivo via FTP

Postby MarioG » Tue Jun 21, 2011 8:00 pm

jm; gracias por responder

Ejecutandolo desde XP, obtengo esto en modo consola
hice un ping que respode correctamente (en mi ignorancia sobre el tema)
Image

Como verás el IP es diferente del que figura en la página que me brinda los datos del FTP, por lo que lo cambié por el nombre (luego probé con el IP respuesta del ping); en ambos casos la respuesta es la misma.
Quizás no adminta RemoteShell

saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Archivo via FTP

Postby JmGarcia » Thu Jun 23, 2011 10:13 am

MarioG wrote:Quizás no adminta RemoteShell

Pues va a ser que no lo admite.
Yo uso el RemoteSehll desde Windows-XP y contra máquinas SUN con S.O. Solaris 10, y funciona.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 73 guests