আমি কি এফটিপি ব্যবহার করে একটি সম্পূর্ণ ফোল্ডার আপলোড করতে পারি?


29

আমার এফটিপি ব্যবহার করে একটি পূর্ণ ফোল্ডার আপলোড করতে হবে। কোনও ফোল্ডার এবং এর সমস্ত বিষয়বস্তু একবারে স্থানান্তর করার জন্য কি কোনও বিকল্প আছে?

উত্তর:


24

যদি আপনি একটি স্ট্যান্ডার্ড কমান্ড-লাইন এফটিপি ক্লায়েন্ট ব্যবহার করেন তবে MPUTকমান্ডটি আপনাকে (শেল গ্লোব-স্টাইল) প্যাটার্নের সাথে মেলে সমস্ত ফাইল স্থানান্তর করতে অনুমতি দেবে, সুতরাং MPUT *বর্তমান ডিরেক্টরিতে সমস্ত ফাইল প্রেরণ করবে। MGETপ্যাটার্নের সাথে মিলে যাওয়া ফাইলগুলি পুনরুদ্ধার করার জন্যও রয়েছে ।

ডিফল্টরূপে, উভয়ই MPUTএবং MGETপ্রতিটি ফাইলকে এমনটি করার আগে স্থানান্তর করতে হবে কিনা তা জানতে অনুরোধ করবে। আপনি সম্ভবত "PROMPT" কমান্ড দিয়ে প্রম্পটিংটি বন্ধ করতে চান (কোনও যুক্তি নয়; এটি একটি টগল)।


এই প্রশ্নটি মূলত স্ট্যাকওভারফ্লো থেকে এসেছে, সুতরাং আমি অনুভব করি যে এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। যদিও মূল প্রশ্নকর্তা
নিখোঁজ

সতর্কতা: এফটিপি কমান্ড লাইন ক্লায়েন্ট যা উইন্ডোজের সাথে আসে তা প্যাসিভ মোড সমর্থন করে না তাই এই কৌশলটি ব্যবহার করা আপনার সময় নষ্ট করতে পারে। আমার ক্ষেত্রে ফাইলগুলি আপলোড করার প্রয়োজন ছিল এবং উইন্ডোজ কমান্ড লাইন ডাব্লু / নেটিভলি ইনস্টলড টুলিং ব্যবহার করার পরে এটি আমার ক্ষেত্রে ঘটেছে।
sean2078

1
এটি বর্তমান ডিরেক্টরিতে সমস্ত প্লেইন ফাইল স্থানান্তরিত করবে তবে এটি উপস্থিত উপস্থিত ডিরেক্টরিগুলি পুনরাবৃত্তভাবে স্থানান্তর করবে না। এটি কেবল তাদের নিঃশব্দে উপেক্ষা করবে
begercookie

22

আপনি এনসিএফপিপুট ব্যবহার করতে পারেন। নিম্নলিখিতগুলি করুন:

  1. এনসিএফটিপি ইনস্টল করুন:

    yum install ncftp
    

ইয়াম লোয়ারকেস।

বিকল্পভাবে:

    apt-get install ncftp

২. নিম্নলিখিত কমান্ডটি কার্যকর করুন:

    ncftpput -R -v -u "ftp-username" ftp.website.com ftp-upload-path local-path/*

ইয়ামকে ইয়ামে পরিবর্তন করা উচিত - এটি কেস-সংবেদনশীল।
ওলেকে

1
: এখানে ncftpput জন্য সব CLI অপশন আছে ncftp.com/ncftp/doc/ncftpput.html
Pepijn অলিভিয়ের

8

এফটিপি ক্লায়েন্ট যেমন লেইচএফটিপি বা ফাইলজিলা বা অনুরূপ কিছু ব্যবহার করুন। অনেক লোক ক্রিটিএফটিপি দ্বারা শপথ করে, তবে এটি শেয়ারওয়ারের শেষটি আমি যাচাই করেছিলাম। সমস্ত ডিরেক্টরি ডিরেক্টরি কাঠামো সহ একটি পুরো ফোল্ডার স্থানান্তরিত সমর্থন।



5
  1. ব্যবহারকারী / ক্লায়েন্ট জিপ ফোল্ডার আছে
  2. জিপ ফাইল আপলোড করুন
  3. ফোল্ডার সার্ভারের দিকটি আনজিপ করুন

দ্রষ্টব্য: আমার উত্তরটি স্ট্যাকওভারফ্লোতে পোস্ট করা হয়েছিল। এ কারণেই এটি একটি "কোডিং" সমাধান উল্লেখ করে।
চেজ ফ্লোরেল

2

আমার মতো অন্যান্য উইন্ডোজ নবাবিদের জন্য একটি সহজ টিউটোরিয়াল যা এখানে বাড়ে:

পুরো ফোল্ডারটি আপলোড করার সবচেয়ে সহজ উপায় (এতে থাকা সমস্ত সাবফোল্ডার এবং ফাইলগুলি সহ):

  1. এই লিঙ্কটি থেকে এনসিএফটিপি ক্লায়েন্ট ডাউনলোড করুন (এটি নিখরচায়, তবে আপনি অনুদান দিতে পারেন) ।
  2. তালিকা থেকে মাইক্রোসফ্ট উইন্ডোজের জন্য এনসিএফটিপি ক্লায়েন্ট 3.2.5 চয়ন করুন ।
  3. এটি ইনস্টল করুন।
  4. হয়ে গেলে, চেরি আইকন সহ একটি ছোট সিএমডি উইন্ডো পপ-আপ করবে will তোমার দরকার নেই
  5. কেবলমাত্র একটি স্ট্যান্ডার্ড সিএমডি উইন্ডো খুলুন এবং টাইপ করুন:
    ncftpput -u * yourUserNameHrere * -p * yourUserPasswordHere * -R * www.yourWebsite.com * /
                     _C: \ yourFolderDirectoryHere \\ *: _
    (এক লাইন হিসাবে)

মনে রাখবেন যে:

  • -R "পুনরাবৃত্তি" এর পতাকা; এটি কমান্ডটি সমস্ত সাব-ফোল্ডারকে পুনরাবৃত্তভাবে অনুলিপি করে
  • / (স্ল্যাশ) আপনার ওয়েবসাইটের মূল ডিরেক্টরি
  • C:\yourFolderDirectoryHere\* ভিতরে সবকিছু নির্বাচন করে C:\yourFolderDirectoryHere

দেখতে দুর্দান্ত লাগছে, তবে সার্ভারটি আমার আইপি নিষিদ্ধ করেছে যা আমি স্বল্প বিরতিতে 800 সংযোগ করেছি। সংযোগের সংখ্যা হ্রাস করার কোনও উপায় নেই। অন্য কোনও সমস্যা হ'ল গন্তব্য ফাইলটি ইতিমধ্যে উপস্থিত থাকলে কীভাবে আপলোডিং এড়ানো যায় তা আমি জানি না।
16851556

2

আমি একটি উত্তর দেব যা - যদিও এটি নিখরচু শক্তি এবং সামান্যতম মার্জিত নয় - কেবলমাত্র কমান্ড লাইনেই আমার পক্ষে কাজ করেছিল। আমি ফাইলগুলির একটি তালিকা তৈরি করেছি এবং এগুলি একটি স্ক্রিপ্টে রেখেছি:

আপনার ফাইলগুলির তালিকা তৈরি করুন:

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

1

এটি পরীক্ষা করে দেখুন

আপনি প্রোগ্রামক্রমে সার্ভারে একটি ফোল্ডার তৈরি করতে পারেন এবং তারপরে সমস্ত নতুন ফাইলটি নতুন ফোল্ডারে আপলোড করতে পারেন।


লিঙ্কযুক্ত এসও প্রশ্নটি সরানো হয়েছে।
cxw

0

ফাইলজিলা এটির জন্য দুর্দান্ত। আপনি যদি কিছু ডাউনলোড / ইনস্টল করতে না চান তবে ইন্টারনেট এক্সপ্লোরার দিয়ে এটি করা যেতে পারে। উন্নত বিকল্পগুলিতে যান এবং নির্বাচন করুন Enable FTP folder view (outside of Internet Explorer)। তারপরে আপনি আপনার এফটিপি সার্ভারে এক্সপ্লোরার উইন্ডোটি নির্দেশ করতে পারেন এবং এক্সপ্লোরার উইন্ডোগুলির মধ্যে ফাইল এবং ফোল্ডারগুলি ড্র্যাগ-এন্ড-ড্রপ করতে পারেন।



0

লক্ষ্য দির একটি জিপ ফাইল। আপনি নীচের কোডটি ব্যবহার করে সম্পূর্ণ জিপ ফাইলটি এফটিপি সার্ভারে অনুলিপি করতে পারেন।

//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);
    }
}         

এটি দুর্দান্ত, তবে আপনার প্রোগ্রামটি সংকলন করে না।
ডেভিডপস্টিল

0

আমার উত্তরটি @ ডিজিগের উত্তরের বিভিন্নতা।

আপনি সমস্ত ফাইল তালিকাভুক্ত করতে এবং সেগুলিতে (পুট কমান্ড সহ) একটি ফাইলে সংরক্ষণ করতে পারেন:

find my-dir -exec echo "put /Users/username/"{} {} > list.txt \; 

এবং তারপরে ফাইলটি প্রসেস করতে sftp ব্যবহার করুন:

sftp -C -b sftpbatchfile.txt name@server

-Cসংকোচনের -bজন্য, ব্যাচ ফাইলের জন্য


এটি যেমন জিজ্ঞাসা করা হয়েছে তেমন FTP ব্যবহার করে না। sftpপ্রোগ্রাম এসএফটিপি প্রোটোকল যা একটি ভিন্ন প্রোটোকল যদিও এটা সাধারণ কিছু অক্ষর আছে ব্যবহার করে। এবং আপনি enter code hereঅবশিষ্টাংশ সম্পাদনা করেন নি ।
dave_thompson_085
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.