Pregunta

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

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

¿Fue útil?

Solución 6

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 símbolo del sistema.

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

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

Otros consejos

Usando 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

Si te refieres a un windows box, Solo usa xcopy.Es bastante estándar tener xcopy disponible.

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

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

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

Copy-item también admite el parámetro -Credential si lo necesita.

"Lugares de red" realmente no tiene una API, son solo un montón de accesos directos y el recurso compartido de SharePoint usa una extensión de Shell, si mal no recuerdo.

Todo eso para decir:acceder a Sharepoint como un sistema de archivos desde PowerShell también requiere una prórroga, la Proveedor de SharePoint.

puede usar los comandos 'net' para autenticar y luego copiar los archivos.

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

no soy en realidad Estoy seguro exactamente de cómo manejar la autenticación si es necesario.

Si es algo que necesita escribir en un guión, debería considerar hormiga.

Se utiliza principalmente para crear scripts, pero es muy potente y razonablemente fácil para empezar.

También hay NAntContribuir y el tarea ftp nant que debería ayudarte.

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

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

Tampoco vi una tarea NAnt que pudiera manejar esta situación.

También sé que existen herramientas que me permitirán mapear unidades WebDAV.Más bien me preguntaba si había alguna forma de utilizar los sitios de red que se configuraron sin utilizar la GUI.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top