FTPを使用してフルフォルダをアップロードする必要があります。フォルダとその内容のすべてを一度に転送するためのオプションはありますか?
標準のコマンドラインFTPクライアントを使用している場合、MPUT
コマンドを使用すると、(シェルグロブスタイル)パターンに一致するすべてのファイルを転送できるので、MPUT *
は現在のディレクトリ内のすべてのファイルを送信します。パターンにマッチするファイルを検索するためのMGET
もあります。
デフォルトでは、MPUT
とMGET
は両方とも、転送する前に各ファイルを転送するかどうかを尋ねます。あなたはおそらく "Prompt"コマンドでプロンプトを消すことを望みます(引数なし、それはトグルです)。
Ncftpputを使うことができます。以下をせよ:
Ncftpをインストールします。
yum install ncftp
yumは小文字です。
あるいは
apt-get install ncftp
2.以下のコマンドを実行してください。
ncftpput -R -v -u "ftp-username" ftp.website.com ftp-upload-path local-path/*
LeechFTPやFileZillaなどのFTPクライアントを使用してください。多くの人がCuteFTPで誓うが、それは私が最後にチェックしたシェアウェアだ。すべてのディレクトリ構造を含むフォルダ全体の転送をサポートしています。
私のような他のWindows初心者のための簡単なチュートリアルはここに巻いています:
フォルダ全体を(その中にすべてのサブフォルダとファイルを含めて)アップロードする最も簡単な方法は次のとおりです。
ncftpput -u * yourUserNameHere * -p * yourUserPasswordHere * -R * www.yourWebsite.com * / _C:\ yourFolderDirectoryHere \\ * _(1行として).
ご了承ください:
-R
は "recursive"のフラグです。これにより、コマンドはすべてのサブフォルダを再帰的にコピーします。/
(スラッシュ)はあなたのウェブサイトのルートディレクトリですC:\yourFolderDirectoryHere\*
は内部のすべてを選択しますC:\yourFolderDirectoryHere
私は答えを提供するつもりです - それは純粋な総当り力で、ほんの少しの間エレガントではありませんでしたが - 私にとってコマンドラインで働いた唯一のものでした。ファイルのリストを作成し、それらをスクリプトに入れました。
ファイルのリストを生成します。
find my-dir -exec echo "put /Users/username/"{} {} \;
それらをコピーしてスクリプトに貼り付けます。
#!/bin/bash
hostname="my-ftp-Host"
username="username"
password="password"
ftp -in $hostname <<EOF
quote USER $username
quote PASS $password
binary
cd 123456
{COPY THE LIST HERE}
quit
EOF
これをチェック してください 。
プログラムで サーバー上にフォルダを作成し 、すべてのファイルをその新しいフォルダにアップロードすることもできます。
FileZillaはこれに最適です。ダウンロード/インストールしたくない場合は、Internet Explorerを使用してください。詳細オプションに進み、Enable FTP folder view (outside of Internet Explorer)
を選択します。それから、あなたのFTPサーバにエクスプローラウィンドウを向け、エクスプローラウィンドウ間でファイルやフォルダをドラッグアンドドロップすることができます。
Firefoxには FireFtp というプラグインがあり、これはNice ftpクライアントです。
私の答えは@dgigの答えのバリエーションです。
すべてのファイルを一覧表示し、それらをファイルに保存することができます(putコマンドを含む)。
find my-dir -exec echo "put /Users/username/"{} {} > list.txt \;
そしてsftpを使ってファイルを処理します。
sftp -C -b sftpbatchfile.txt name@server
-C
は圧縮用、-b
はバッチファイル用です
ターゲットディレクトリはZipファイルです。以下のコードを使用して、完全なZipファイルをftpサーバーにコピーできます。
//Taking source and target directory path
string sourceDir = FilePath + "Files\\" + dsCustomer.Tables[0].Rows[i][2].ToString() + "\\ConfigurationFile\\" + dsSystems.Tables[0].Rows[j][0].ToString() + "\\XmlFile";
string targetDir = FilePath + "Files\\Customers\\" + CustomerName + "\\" + SystemName + "\\";
foreach (var srcPath in Directory.GetFiles(sourceDir))
{
//Taking file name which is going to copy from the sourcefile
string result = System.IO.Path.GetFileName(srcPath);
//If that filename exists in the target path
if (File.Exists(targetDir + result))
{
//Copy file with a different name(appending "Con_" infront of the original filename)
System.IO.File.Copy(srcPath, targetDir + "Con_" + result);
}
//If not existing filename
else
{
//Just copy. Replace bit is false here. So there is no overwiting.
File.Copy(srcPath, srcPath.Replace(sourceDir, targetDir), false);
}
}