Estou tendo um problema ao usar o PSCP em um programa C # para copiar um arquivo de uma máquina Unix para uma máquina Windows. O problema ocorre apenas quando a pasta de destino na máquina Windows possui um espaço nela. Por exemplo, o seguinte funciona bem: (NOTA: o endereço IP e a senha foram alterados para este exemplo)
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download
Mas quando eu mudo para isso:
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt C:\download files
Eu recebo o seguinte erro: Mais de uma fonte remota não é suportada.
Percebo que é porque o PSCP interpreta o espaço como outro alvo. Mas como posso fazer isso? Eu tentei todos os tipos de coisas como colocá-lo entre aspas e escapar do espaço. Eu tentei todas as seguintes opções e 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
Alguma ideia?
Anexar um período à pasta de destino. O seguinte deve funcionar com o anexo . no seu exemplo:
fonte
bem, primeiro, como você já mencionou, você tem espaços em seu caminho. Portanto, seria aconselhável usar aspas "C: \ baixar arquivos". Segundo, como você já apontou, você precisa adicionar seu aplicativo ao PATH para chamar o pscp sem nenhum caminho estranho. e terceiro. Use convenções de nomenclatura que evitem essa confusão causada por citar tudo.
Ambos resolvem o problema e você parece 100500 vezes mais frio.
fonte