「コンテキスト メニュー」マップされたフォルダーにアップロード

「コンテキスト メニュー」マップされたフォルダーにアップロード

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認証情報を入力してください

  • FTPUSERFTPPASSWORDIPアドレスを自分のFTPログインデータに置き換えます。
  • C:\MAPPEDFOLDER1\MAPPEDFOLDER2\ローカルPC上のマップされたフォルダに変更する

注記:マップされたフォルダーの外部からファイルをアップロードすると、そのファイルはデフォルトで FTP ルート フォルダーに保存されます。

スクリプトはどのように機能するのか(サンプルファイルC:\some\folder\input.txt)

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

使用されたリソース

関連情報