winscp下载文件时的窗口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winscp下载文件时的窗口相关的知识,希望对你有一定的参考价值。
winscp下载文件时的窗口为以下这几种:首先然后打开软件,新建站点
在打开的页面填写远程主机的IP,用户名和密码,点击保存,会在页面的左边出现一个站点,下次可直接双击该站点,就可以登录到远程主机上了
3. 上传和下载,直接在你想要上传和下载的文件上右键,选择上传或下载就可以,也可以直接用鼠标拖动文件,如图

4.上传文件很简单,只要你选择你要上传的本地文件然后把它拉到你要放在iphone的目录下面;下载文件与上次一样,只要你选择要下载的文件,然后把它拖到你要存放文件的本地目录即可。
注意:
1. 上传或下载文件,可选中文件后拖拽,从左侧窗口拖至右侧窗口或反之。如果移动文件的话,也可以拖拽,如果由于权限拖拽失败,可以用ssh命令。
2. WinSCP上使用命令只适合简短的一些命令,如解压缩,压缩,移动,拷贝等,如果是安装配置环境,必须使用Putty或xshell这样的软件。 参考技术A 一、下载1、进入官网页面后,点击Download进入下载页面;2、点击左下方“DOWNLOAD WINSCP 5.19.6(10.9MB)”,下载该软件(此版本为目前最新版)。二、安装1、在下载文件的位置,找到WinSCP图标,点击进行安装;2、选择安装模式,点击“为所有用户安装”;3、进入安装页面,详细阅读许协议后,点击接受;4、安装类型选择典型安装,(默认目录安装位置C:\Program Files (x86)\WinSCP)需要指定安装位置,请选择自定义安装,点击下一步;5、初始化用户设置,选择喜欢的用户页面,这里博主选择第一种,按需求选择,点击下一步;6、准备安装页面,查看安装设置无误后,点击下一步;7、安装完成后,勾选“启动WinSCP”,(热爱这款工具的博友们也可以考虑通过捐款来支持WinSCP的开发),点击完成。三、使用教程1、常用流程(1)左侧点击新建站点;(2)右侧选择文件协议,这里使用FTP(按需选择);(3)填写主机名,端口号,选择协议后默认设置,也可以自定义端口(看服务器的端口开放),填写用户名与密码;(4)可以点击保存(方便下次登录);(5)点击登录。2、成功登录,可以开心使用WinSCP 参考技术B 一、下载1、进入官网页面后,点击Download进入下载页面;2、点击左下方“DOWNLOAD WINSCP 5.19.6(10.9MB)”,下载该软件(此版本为目前最新版)。二、安装1、在下载文件的位置,找到WinSCP图标,点击进行安装;2、选择安装模式,点击“为所有用户安装”;3、进入安装页面,详细阅读许协议后,点击接受;4、安装类型选择典型安装,(默认目录安装位置C:\Program Files (x86)\WinSCP)需要指定安装位置,请选择自定义安装,点击下一步;5、初始化用户设置,选择喜欢的用户页面,这里博主选择第一种,按需求选择,点击下一步;6、准备安装页面,查看安装设置无误后,点击下一步;7、安装完成后,勾选“启动WinSCP”,(热爱这款工具的博友们也可以考虑通过捐款来支持WinSCP的开发),点击完成。
WPF 使用 WinSCP 做 FTP 下载
WPF 使用 WinSCP 做 FTP 下载
WinSCP
作 者:WPFDevelopersOrg - 驚鏵
Nuget
安装WinSCP
当安装完成后进入安装后的目录
packages\\WinSCP.5.21.6\\tools
将两个文件拷贝Debug
调试(运行)目录下。
下面开始代码实现使用
WinSCP FTP
下载。
1) xaml
代码如下:
<wpfdev:Window x:Class="WpfApp1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wpfdev="https://github.com/WPFDevelopersOrg/WPFDevelopers"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d" WindowStyle="ToolWindow"
Title="WinSCP - FTP" Height="450" Width="800">
<Grid>
<WrapPanel VerticalAlignment="Center"
HorizontalAlignment="Center">
<TextBlock Name="myTextBlock" Margin="10,0" VerticalAlignment="Center"/>
<wpfdev:CircularProgressBar Name="myCircularProgressBar"
BrushStrokeThickness="2"
StrokeThickness="5"
Size="20,20"
BorderBrush="#42ABAC"
Background="#E14D5F"
Value="0"/>
<Button Style="StaticResource PrimaryButton" Margin="10,0" Content="Download" Click="Button_Click"/>
</WrapPanel>
</Grid>
</wpfdev:Window>
2) cs
代码如下:
using System;
using System.IO;
using System.Threading.Tasks;
using System.Windows;
using WinSCP;
namespace WpfApp1
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1
public Window1()
InitializeComponent();
private void Button_Click(object sender, RoutedEventArgs e)
myCircularProgressBar.Value = 0;
Task.Run(() =>
Download();
);
bool Download()
try
SessionOptions sessionOptions = new SessionOptions
Protocol = Protocol.Ftp,
HostName = "127.0.0.1",
UserName = "wpfdevelopers",
Password = "wpfdevelopers",
;
string localPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"packages");
if (Directory.Exists(localPath))
DeleteDirectory(localPath);
string remotePath = "packages";
using (Session session = new Session())
session.FileTransferProgress += Session_FileTransferProgress;
session.Open(sessionOptions);
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult = session.GetFiles(remotePath, localPath, false, transferOptions);
transferResult.Check();
return true;
catch (Exception)
return false;
void DeleteDirectory(string target_dir)
string[] files = Directory.GetFiles(target_dir);
string[] dirs = Directory.GetDirectories(target_dir);
foreach (string file in files)
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
foreach (string dir in dirs)
DeleteDirectory(dir);
Directory.Delete(target_dir, false);
private void Session_FileTransferProgress(object sender, FileTransferProgressEventArgs e)
Dispatcher.BeginInvoke(new Action(() =>
var value = (int)(e.OverallProgress * 100);
myCircularProgressBar.Value = value;
if (value == 100)
myTextBlock.Text = "文件已经全部下载完成";
else
myTextBlock.Text = $"正在下载文件 System.IO.Path.GetFileName(e.FileName)";
));
下载完成的文件
以上是关于winscp下载文件时的窗口的主要内容,如果未能解决你的问题,请参考以下文章