Tengo un problema al usar PSCP en un programa C # para copiar un archivo de una máquina Unix a una máquina Windows. El problema solo ocurre cuando la carpeta de destino en la máquina Windows tiene un espacio en ella. Por ejemplo, lo siguiente funciona bien: (NOTA: la dirección IP y la contraseña se han cambiado para este ejemplo)
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download
Pero cuando lo cambio a esto:
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download files
Me sale el siguiente error: no se admite más de una fuente remota.
Me doy cuenta de que es porque PSCP interpreta el espacio como otro objetivo. ¿Pero cómo puedo hacerlo? He intentado todo tipo de cosas como ponerlo entre comillas y escapar del espacio. He intentado todo lo siguiente y nada funciona:
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt "C:\download files"
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\"download files"
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download\\ files
¿Algunas ideas?
Agregue un punto a la carpeta de destino. Lo siguiente debería funcionar con el anexo . en tu ejemplo:
fuente
bueno, primero, como ya mencionaste, tienes espacios en tu camino. Por lo tanto, sería aconsejable utilizar comillas "C: \ descargar archivos". En segundo lugar, como ya señaló, debe agregar su aplicación a su RUTA para llamar a pscp sin ninguna ruta extraña. y tercero. Use convenciones de nomenclatura que eviten este desastre causado por citar todo.
Ambos resuelven el problema y te ves 100500 veces más genial.
fuente