Windows エクスプローラーからアップロードできる FTP ソフトウェアを探しています。
「Cute 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\
- 3行目は、入力パスとハードコードされたマップされたパス(例
C:\some\
:)を比較します。結果として、folder\
マップされたフォルダーが取得されます。その後、スクリプトはFTPルートディレクトリでこのフォルダーを開こうとします。 - 5-12 行目では、複数の echo コマンドを使用して一時テキスト ファイル (script.ftp) を作成します。すべての FTP コマンドはこのテキスト ファイルに書き込まれます。
- Windows 組み込み FTP クライアントは で呼び出され
ftp.exe -n -i -s:%ftp%
、FTP コマンド ファイルをパラメータとして取得します。そのため、何をすべきかがわかります。- まず、FTPプログラムはログイン資格情報を使用してサーバーへの接続を開きます。
cd "%mappedfolder%"
入力パスと FTP パス構造を同期するために使用されます。幸いなことに、1 回の呼び出しで複数のフォルダーを開くことができます。binary
ファイル転送方法のデフォルト設定ですsend %1
最後にファイルを送信します。バッチ引数%1
入力された完全なファイル名を表す- 転送が完了したら、FTPサーバーから切断し、FTPクライアントを閉じます。
- 最後の 3 行は、FTP コマンド ファイルを削除するなど、トレースをクリーンアップするためのもので、
pause
すべてが正常に実行された場合にスクリプトの出力を確認する機会を提供します。