usar txt tutorial navegar leer crear como comandos basicos archivo aprender powershell scripting command-line moss wss

powershell - txt - ¿Puedo copiar archivos a un Lugar de red desde un script o la línea de comando?



powershell comandos basicos (9)

Podría estar equivocado al respecto, pero creo que ni la solución robocopy de Nick ni la solución de comando de copia de Nathan funcionarán. Robocopy parece querer una unidad mapeada, lo que no puedo hacer porque no se está ejecutando en el puerto 80 o 443, y Windows no puede manejar una ruta que incluya el puerto en un nombre de estilo UNC:

copy src //dest-machine:45000/shared-library-name/dest

Tampoco vi una tarea NAnt que manejara esta situación.

También sé que hay herramientas que me permitirán mapear unidades WebDAV. Me preguntaba si había alguna forma de hacer uso de los sitios de red que se han configurado sin usar la GUI.

¿Es posible, en Windows XP, copiar archivos a un lugar de la red desde la línea de comandos, un archivo por lotes o, mejor aún, un script de PowerShell?

Lo que me envió por este camino de investigación fue tratar de publicar archivos en una biblioteca de documentos de WSS 3.0 desde la máquina de un usuario. No puedo asignar una unidad a la biblioteca en cuestión porque el sitio de WSS solo está disponible para autenticarse a través de NTLM en un puerto que no sea 80 o 443. Supongo que podría usar alternativamente los servicios web de WSS para enviar los archivos, pero Tengo mucha curiosidad sobre la respuesta a esta pregunta ahora.


Sí tu puedes. Sugiero usar una herramienta como robocopy.


Si es algo que necesita script, debería considerar NAnt .

Se usa principalmente para crear scripts, pero es muy potente y razonablemente fácil de usar.

También hay NAntContrib y la tarea nant ftp que debería ayudarte.


podría usar los comandos ''net'' para autenticar y luego copiar los archivos.

copy src //dest-machine/shared-library-name/dest

Realmente no estoy seguro de cómo manejar la autenticación si es necesario.


Powershell utiliza la abstracción de los proveedores para proporcionar una interfaz común en las áreas de almacenamiento de datos. Estos parecen quedarse con el sustantivo común "Artículo", por lo que puede obtener una lista completa con el man *item* . Si conoce otra forma de copiar y trabajar con datos de una tienda, también podría usarla, pero usar los cmdlets proporciona un mejor enfoque de "aprenda una vez, use a menudo". En tu caso podrías:

Copy-Item test.txt -Destination //dest-machine/share

El elemento de copia también admite el parámetro -Credential si lo necesita.


Con un archivo por lotes, puede iniciar sesión en el recurso y copiar el archivo:

El archivo por lotes contendría lo siguiente:

net use //{dest-machine}/{destfolder} {password} /user:{username} copy {file} //{dest-machine}/{destfolder}

p.ej

net use //Development/myfolder mypassword /user:Administrator copy newfile.c //development/myfolder


Por lo que estoy viendo, parece que no es posible acceder / manipular directamente un Lugar de red desde la línea de comandos, ya sea en PowerShell o en el sencillo prompt de comando.

@slipsec (# 13899): Gracias por la sugerencia, pero PowerShell no admite el número de puerto en la ruta de destino más de lo que lo hace el comando net use .

Por lo tanto, lo mejor que puedo hacer en mi situación particular es comprar y usar algo como WebDrive para habilitar el mapeo de discos a través de WebDAV en puertos no estándar, o hacer alguna configuración diferente (por ejemplo, una aplicación web separada con una dirección IP diferente y encabezados de host) en SharePoint para exponer el sitio a través de NTLM en un puerto estándar.


"Lugares de red" realmente no tiene una API, es solo un conjunto de atajos, y el recurso compartido de SharePoint usa una extensión de shell, si no recuerdo mal.

Todo eso para decir: el acceso a Sharepoint como un sistema de archivos de PowerShell también requiere una extensión, el Proveedor de SharePoint .


Si se refiere a un windows box , simplemente use xcopy . Es bastante estándar tener disponible xcopy .

xcopy src //dest-machine/shared-library-name/dest xcopy //src-machine/shared-library-name/dest src