winscp傳檔案到windows,winscp傳檔案到windows有三步

愛喝啤酒的雷神發表於2020-10-15
winscp是一個支援SSH的SCP檔案傳輸軟體。WinSCP中文版體積小、佔用系統資源少。操作簡單,只需要連線相應的伺服器就可以進行下載和傳輸檔案。重要的是WinSCP中文版軟體還有著很多特色的功能,有著內建的文字編輯器,可以支援檔案的複製、移動、更名檔案等操作,為你帶來高效便捷的使用體驗。

IIS7伺服器管理工具可以批次管理、定時上傳下載、同步操作、資料備份、到期提醒、自動更新。IIS7伺服器管理工具適用於Windows作業系統和liunx作業系統;支援Ftp客戶端批次操作。

下載地址:
ftpds.png

**使用技巧**
1、開啟軟體輸入主機的IP、使用者名稱、密碼,點選儲存。檔案協議預設SFTP連線,埠號一般也是22,如非自己改了埠,WinSCP也可以當做FTP工具使用,把檔案協議下拉選單,選擇FTP即可;

2、儲存密碼,建立桌面快捷方式,下次使用快捷方式直接就可以連線上;

3、第一次登陸,會提示是否快取到本機,點選是;

4、提示金鑰登入,點選是登入成功,Linux的神秘面紗就此解開。WinSCP和Putty可以同時管理操作主機。如進入某一個目錄,返回某一個目錄,使用WinSCP要比Putty方便的多,如果要是壓縮檔案的話,選中後右鍵自定義命令,在選擇Tar/Gzip格式,確定後會生成一個archive.tgz的壓縮包。如果解壓縮.tgz檔案的話,可以用下邊的untar/gzip的命令選單;

5、如果要是解壓縮的格式是別的格式怎麼辦呢,可以Ctar+T調出命令視窗,或在底部右鍵選擇命令列,會出現輸入命令的小視窗。比如解壓縮zip格式的wordpress壓縮包,就需要命令“unzip wrodpress.zip”,對命令不熟悉的新手可以檢視Linux主機SSH常用命令大全
win.jpg
/**
     * 上傳檔案
     * @param pathname ftp服務儲存地址
     * @param fileName 上傳到ftp的檔名
     * @param inputStream 輸入檔案流 
     * @return
     */
    public boolean uploadFile( String pathname, String fileName,InputStream inputStream){
        boolean flag = false;
        try{
            System.out.println("開始上傳檔案");
            initFtpClient();
            ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
            CreateDirecroty(pathname);
            ftpClient.makeDirectory(pathname);
            ftpClient.changeWorkingDirectory(pathname);
            ftpClient.storeFile(fileName, inputStream);
            inputStream.close();
            ftpClient.logout();
            flag = true;
            System.out.println("上傳檔案成功");
        }catch (Exception e) {
            System.out.println("上傳檔案失敗");
            e.printStackTrace();
        }finally{
            if(ftpClient.isConnected()){ 
                try{
                    ftpClient.disconnect();
                }catch(IOException e){
                    e.printStackTrace();
                }
            } 
            if(null != inputStream){
                try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                } 
            } 
        }
        return true;
    }
    //改變目錄路徑
     public boolean changeWorkingDirectory(String directory) {
            boolean flag = true;
            try {
                flag = ftpClient.changeWorkingDirectory(directory);
                if (flag) {
                  System.out.println("進入資料夾" + directory + " 成功!");
                } else {
                    System.out.println("進入資料夾" + directory + " 失敗!開始建立資料夾");
                }
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }
            return flag;
        }
    //建立多層目錄檔案,如果有ftp伺服器已存在該檔案,則不建立,如果無,則建立
    public boolean CreateDirecroty(String remote) throws IOException {
        boolean success = true;
        String directory = remote + "/";
        // 如果遠端目錄不存在,則遞迴建立遠端伺服器目錄
        if (!directory.equalsIgnoreCase("/") && !changeWorkingDirectory(new String(directory))) {
            int start = 0;
            int end = 0;
            if (directory.startsWith("/")) {
                start = 1;
            } else {
                start = 0;
            }
            end = directory.indexOf("/", start);
            String path = "";
            String paths = "";
            while (true) {
                String subDirectory = new String(remote.substring(start, end).getBytes("GBK"), "iso-8859-1");
                path = path + "/" + subDirectory;
                if (!existFile(path)) {
                    if (makeDirectory(subDirectory)) {
                        changeWorkingDirectory(subDirectory);
                    } else {
                        System.out.println("建立目錄[" + subDirectory + "]失敗");
                        changeWorkingDirectory(subDirectory);
                    }
                } else {
                    changeWorkingDirectory(subDirectory);
                }
                paths = paths + "/" + subDirectory;
                start = end + 1;
                end = directory.indexOf("/", start);
                // 檢查所有目錄是否建立完畢
                if (end <= start) {
                    break;
                }
            }
        }
        return success;
    }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69984138/viewspace-2727121/,如需轉載,請註明出處,否則將追究法律責任。

相關文章