我正在尋找一個可以從Windows資源管理器上傳的ftp軟體。
「可愛的ftp」有一個這樣的選項。您可以直接從“上下文選單”上傳,但似乎只能上傳到根資料夾。我需要該軟體使用某種映射上傳到正確的資料夾。
答案1
使用Windows內建FTP客戶端將檔案上傳到FTP伺服器
您只能使用 Windows 板載公用程式透過 FTP 上傳檔案。只需使用下面的程式碼建立一個 CMD 腳本,並在 sendto 資料夾中放置一個快捷方式 ( Win+ R→ shell:sendto) 即可快速存取上下文選單
「映射資料夾」功能請求也將起作用。 Filezilla 使用者知道此功能為同步瀏覽。
@echo off
set inputfolder="%~dp1"
set mappedfolder=%inputfolder:C:\MAPPEDFOLDER1\MAPPEDFOLDER2\=%
set mappedfolder=%mappedfolder:"=%
set ftp=%temp%\script.ftp
>> %ftp% ECHO open 123.4.567.89
>> %ftp% ECHO user FTPUSER FTPPASSWORD
>> %ftp% ECHO cd "%mappedfolder%"
>> %ftp% ECHO binary
>> %ftp% ECHO send %1
>> %ftp% ECHO disconnect
>> %ftp% ECHO quit
ftp.exe -n -i -s:%ftp%
del %ftp%
pause
exit
輸入您的 FTP 憑證
- 將
FTPUSER
,FTPPASSWORD
和 IP 位址替換為您自己的 FTP 登入數據 - 變更
C:\MAPPEDFOLDER1\MAPPEDFOLDER2\
為本機 PC 上的對應資料夾
筆記:如果您從映射資料夾外部上傳文件,該文件將預設保存到您的 FTP 根資料夾中。
腳本是如何運作的(範例文件C:\some\folder\input.txt
)
- 僅將所選檔案的路徑儲存為輸入資料夾:
C:\some\folder\
- 第三行比較輸入路徑和硬編碼的映射路徑(例如
C:\some\
)。結果你得到了folder\
映射資料夾。稍後該腳本會嘗試開啟 FTP 根目錄中的此資料夾 - 第5-12行透過多個echo指令建立一個臨時文字檔(script.ftp)。所有 FTP 命令都寫入此文字檔案中。
- Windows 內建 FTP 用戶端被呼叫
ftp.exe -n -i -s:%ftp%
並取得 FTP 指令檔案作為參數。所以它知道該怎麼做:- 首先,FTP 程式會開啟與您的伺服器的連線以及您的登入憑證
cd "%mappedfolder%"
用於同步您的輸入路徑和 FTP 路徑結構。幸運的是,它可以一次打開多個資料夾。binary
只是檔案傳輸方法的預設設定send %1
最後發送我們的文件。這批次參數%1
代表輸入的完整檔名- 傳輸完成後,我們斷開與 FTP 伺服器的連線並關閉 FTP 用戶端
- 最後 3 行只是為了清理我們的痕跡,例如刪除 FTP 命令文件,
pause
如果一切順利的話,您將有機會看到腳本輸出。