Necesito automatizar un proceso que me permita bajar archivos
compartidos por SMB, desde una máquina windows hacia una máquina
windows. Idealmente, debería poder llamar este proceso como un script
-no importa en qué lenguaje, con tal que un intérprete esté
disponible en windows-.
Sé que hay herramientas y librerías en Linux para esta labor, pero
necesito una solución en windows que no implique tener que reproducir
un ambiente Unix (es decir, instalar CygWin, o compilar desde fuentes
no son opciones viables).
¿A alguien se le ocurre alguna idea?
-Óscar.
Pues tienes PHP (CLI) y Python entre otros. Es cosa de hacer el
script y ya, digo yo. ;-)
--
Andrés Pinzón cPh.D.
[http://www.andrespinzon.com]
Bioinformatics Center, Colombia EMBnet node
http://bioinf.ibun.unal.edu.co
Tel +57 3165000 ext 16961 Fax +571 3165415
Micology and Phytopathology Laboratory - Los Andes University.
Tel +571 3394949 ext. 2768
PDT:
Te extrañanos en las JSL
On 8/26/06, Óscar López <oscar.and...@gmail.com> wrote:
>
--
Red-Handed un programa de radio para informaticos
http://www.red-handed.com.ar
Ruby/SMB [http://rubysmb.sourceforge.net/]
Pros: Se integra transparentemente con el lenguaje, hace las cosas a la
manera Ruby
Contras: Depende de una librería externa que debe ser compilada desde
fuentes sobre la máquina objetivo, luego no es muy portable. Además,
no ha sido actualizada en más e 4 años.
PySMB [http://miketeo.net/old/projects/pysmb/]
Pros: La última versión es de hace "sólo" 2 años. No depende de
librerías externas.
Contras: Como el mismo autor lo reconoce, tiene problemas funcionando
en versiones de windows superiores a WinME. A mí, no me funcionó. Me
parece que Ruby/SMB está más en el espíritu de su lenguaje que esta
librería en el del suyo.
PyWin32 [http://sourceforge.net/projects/pywin32/]
Pros: Sencilla de usar, funciona. Esta receta demuestra todo lo que
puede hacer:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/442521
Contras: No es una librería específicamente pensada para SMB, aunque
su sencillez puede considerarse una ventaja.
JCIFS [http://jcifs.samba.org/]
Pros: La librería más poderosa que encontré. Permite autenticarse,
abrir Input y Output Streams, listar directorios, filtrar el contenido
de éstos y por supuesto bajar y subir archivos via SMB. Su API es rica
en funcionalidades, aunque compleja.
Contras: Da la sensación de tener que hacer mucho trabajo para lograr
algo, se "siente" muy de bajo nivel. No es una solución muy
script-esca que digamos.
Comandos de Línea de Windows
Pros: Es la solución más sencilla de todas. No tenía ni idea que uno
pudiera hacer `copy \\SERVER\Directorio\archivoRemoto archivoLocal'
(copy, dir, etc.) en Windows. Trabajar con archivos remotos es
completamente transparente.
Contras: El débil shell de Windows XP hace que si uno necesitara
algún tipo de procesamiento adicional (ej, filtrar archivos), deba
recurrir a un lenguaje externo. No logré hacer autenticación
programáticamente, no es tan grave ya que con una vez que uno se
autentique por la interfaz gráfica es suficiente y el script funciona
sin problemas de ahí en adelante.
Y el ganador fue ... Comandos de Línea de Windows + Ruby . Nuevamente
la navaja de Occam en acción: la solución más sencilla, generalmente
es la correcta.