Posso transferir um arquivo do Windows para o Unix usando o script de shell, não o WinSCP?

3

Eu gostaria de automatizar o processo WinSCP, então eu quero escrever um script de shell que faça o mesmo que o WinSCP.

Eu tentei usar o comando SCP, mas ele não se conecta à minha máquina local. Eu também vi o PSCP, mas não consigo instalar o pscp.exe na minha máquina.

    
por Dee 06.10.2016 / 16:16

4 respostas

2

Instale Putty e use:

c:\progra~1\putty\pscp.exe c:\local_path\to\files.*  user@host:/destination/directory

Você pode usar chaves (gerar um par e colocar somente a chave pública (exportada no formato correto!) no arquivo .ssh/authorized_keys do usuário de destino) para torná-la automática (ou seja, sem precisa que você interativamente digite uma senha a cada vez) e seguro. Para usar sua chave com o pscp, basta adicionar a opção -i \path\to\PRIVATEkey , antes da origem e do destino.

    
por 06.10.2016 / 17:09
1

Eu posso recomendar a Página de scripts em lotes do DOS .

Eu precisava fazer isso no meu trabalho (era uma pequena competição entre os administradores de sistemas), e isso me ajudou muito. Você também pode usar o FileZilla com o CommandLine ou qualquer outra coisa que ofereça suporte FTP completo.

    
por 06.10.2016 / 16:18
1

Se você estiver usando o Windows 10 com a Atualização Aniversário, você pode instalar o subsistema Linux para Windows e usar o scp normal.

    
por 06.10.2016 / 19:35
0

você pode usar o VBScript e uma versão do XMLHTTP. Os seguintes sub-downloads em vez de uploads, mas isso pode dar a você um começo:

Sub wGet(strURL, strLocalFile)
'
' Example Usage
' wGet URLtofile, LocalFileSpec
'
  Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
  With objXMLHTTP
    .Open "GET", strURL, False
    .Send
    If .Status = 200 Then
        Set objStream = CreateObject("ADODB.Stream")
        With objStream
          .Open
          .Type = 1
          .Write objXMLHTTP.responseBody
          .SaveToFile strLocalFile, 2
          .Close
        End With
    Else 
      varToUser = MsgBox("Web server returned an error", _
                  vbInformation, "ASU Portable Environment Setup")
      Wscript.Quit
    End If
  End With
  Set objXMLHTTP = nothing
End Sub
    
por 06.10.2016 / 19:49