3 votes

Puis-je transférer un fichier de Windows à Unix en utilisant Shell Shell, et non WinSCP ?

Je voudrais automatiser le processus WinSCP, donc je veux écrire un Shell Shell qui fait la même chose que WinSCP.

J'ai essayé d'utiliser la commande SCP, mais elle ne se connecte pas à ma machine locale. J'ai également vu PSCP, mais je ne peux pas installer pscp.exe sur ma machine.

2voto

Olivier Dulac Points 888

Installez Putty, puis utilisez :

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

Vous pouvez utiliser des clés (générer une paire, et mettre seulement le public (exportée dans le bon format !) dans la clé de l'utilisateur de destination. .ssh/authorized_keys ) pour rendre cette opération automatique (c'est-à-dire sans que vous ayez à saisir un mot de passe de manière interactive à chaque fois) et sécurisée. Pour utiliser votre clé avec pscp, il suffit d'ajouter l'option -i \path\to\PRIVATEkey avant la source et la destination.

1voto

CentrixDE Points 656

Je peux recommander le DOS Batch FTP scripts page .

J'ai eu besoin de faire cela à mon travail (il s'agissait d'une petite compétition entre sysadmins), et cela m'a beaucoup aidé. Vous pouvez aussi utiliser FileZilla avec CommandLine ou autre chose qui fournit un support FTP complet.

1voto

Charles Burge Points 1957

Si vous utilisez Windows 10 avec la mise à jour Anniversaire, vous pouvez installer le sous-système Linux pour Windows et utiliser le scp normal.

0voto

Ilya Gazman Points 301

Vous pouvez utiliser VBScript et une version de XMLHTTP. Les sous téléchargements suivants au lieu des téléchargements, mais il peut vous donner un début :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X