আমি কীভাবে এসডি কার্ডে উপস্থিত ফোল্ডারের সমস্ত ফাইল টানবো?


110

আমার এসডি কার্ডে আমার ফোল্ডারটি এতে রয়েছে: /mnt/sdcard/Folder1/Folder2/Folder3/*.jpg

ফোল্ডার 1 এবং ফোল্ডার 2 এর নামটি স্থির থাকে এবং ফোল্ডার 2 এর ভিতরে আমার কাছে ফোল্ডার 3, 4, 5 এবং আরও আছে .. আমি কম্পিউটারে আমার বর্তমান ডিরেক্টরিতে অ্যাডবি ব্যবহার করে সমস্ত ফাইল (আরও আছে) এর চেয়ে সমস্ত জেপিগ ফাইলগুলি টানতে চাই। ।

প্রতিটি ফোল্ডারে বিভিন্ন জেপিগ ফাইল এবং অন্যান্য ফাইল রয়েছে এবং আমি এটি ব্যবহার করার চেষ্টা করেছি:

adb pull mnt/sdcard/Folder1/Folder2/Folder/*.jpg .

তবে এটি কার্যকর হয়নি .. সুতরাং আমি কীভাবে এসডি কার্ডের যে কোনও ফোল্ডারে উপস্থিত সমস্ত ফাইলকে একটি একক কমান্ড দিয়ে টানতে পারি (একক কমান্ড কারণ প্রতিটি ফোল্ডারে বিভিন্ন ফাইল রয়েছে)


আপনি লিনাক্স বা উইন্ডোজ? এটি কি আমরা একটি সাধারণ স্ক্রিপ্ট দিয়ে সমাধান করতে পারি?
জারেড বুরোস 2

হুম আমি অ্যান্ড্রয়েড ডেভেলপমেন্ট স্টাফ উভয়েই ইনস্টল করে রেখেছি: উইন 7 পাশাপাশি উবুন্টু .. যদি সমাধান হয় তবে উভয়ই ভাল এবং ভাল ..! তবে বাস্তবে আমার এটি কেবল উবুন্টুর জন্য (একটি ভিএম হিসাবে ইনস্টল করা) প্রয়োজন .. তাই
উম্মু

আপনি কি এই প্রশ্নের সঠিক উত্তর চিহ্নিত করতে পারেন?
জ্যারেড বুরোস 22

উত্তর:


143

একক ফাইল / ফোল্ডার ব্যবহার করে pull:

adb pull "/sdcard/Folder1"

আউটপুট:

adb pull "/sdcard/Folder1"
pull: building file list...
pull: /sdcard/Folder1/image1.jpg -> ./image1.jpg
pull: /sdcard/Folder1/image2.jpg -> ./image2.jpg
pull: /sdcard/Folder1/image3.jpg -> ./image3.jpg
3 files pulled. 0 files skipped.

নির্দিষ্ট ফাইল / ফোল্ডারগুলি findথেকে BusyBox:

adb shell find "/sdcard/Folder1" -iname "*.jpg" | tr -d '\015' | while read line; do adb pull "$line"; done;

এখানে একটি ব্যাখ্যা:

adb shell find "/sdcard/Folder1" - use the find command, use the top folder
-iname "*.jpg"                   - filter the output to only *.jpg files
|                                - passes data(output) from one command to another
tr -d '\015'                     - explained here: http://stackoverflow.com/questions/9664086/bash-is-removing-commands-in-while
while read line;                 - while loop to read input of previous commands
do adb pull "$line"; done;         - pull the files into the current running directory, finish. The quotation marks around $line are required to work with filenames containing spaces.

স্ক্রিপ্টগুলি শীর্ষ ফোল্ডারে শুরু হবে এবং পুনরাবৃত্তভাবে নীচে গিয়ে সমস্ত "* .jpg" ফাইলগুলি খুঁজে বের করে আপনার ফোন থেকে বর্তমান ডিরেক্টরিতে টানবে।


10
adb pull /sdcardসব টান!
ইয়ান ভান

@ ইয়ানভাগান এটি একটি কমান্ড যা আমি প্রায়শই ব্যবহার করি এবং আমার জন্য কাজ করি তবে আমি চাই যে এসডি কার্ড থেকে সমস্ত কিছু টেনে নিয়ে যাওয়ার একটি উপায় থাকুক তবে একটি সাব-পাথ বাদ দিন
G 8rÐïåñ

আমি ভাবছি অ্যান্ড্রয়েড আছে কিনা tar? এডিবি-র উপরে একটি সরল তারপাইপ ফাইল, মেটাডেটা, তবে ছাড় ছাড়াই খুব সূক্ষ্ম ধরণের টানতে দেয়। যদি gzip / bzip2 এছাড়াও চালু থাকে, তবে একটি সংকীর্ণ তারপাইপ পাওয়া যাবে :)
মার্ক কে কোয়ান

আপনার আধুনিক সংস্করণগুলির জন্য adbকেবল ডিরেক্টরিটি নির্দিষ্ট করতে পারেন এবং সরঞ্জামটি আপনার জন্য পুনরাবৃত্তভাবে সমস্ত কিছু
টানবে

শেয়ার করা (এসডিকার্ড) সহ @ চিহ্ন-কে-কাউয়ান অ্যাডবি ব্যাকআপ প্রচুর বাগ।
স্মিটারলিঙ্ক

72

ডিরেক্টরি টান নতুন অ্যান্ড্রয়েড সরঞ্জামগুলিতে উপলব্ধ। (কোন সংস্করণ থেকে এটি যুক্ত করা হয়েছিল তা আমি জানি না, তবে এটি সর্বশেষ 21 এডিটিতে কাজ করছে)

adb pull /sdcard/Robotium-Screenshots
pull: building file list...
pull: /sdcard/Robotium-Screenshots/090313-110415.jpg -> ./090313-110415.jpg
pull: /sdcard/Robotium-Screenshots/090313-110412.jpg -> ./090313-110412.jpg
pull: /sdcard/Robotium-Screenshots/090313-110408.jpg -> ./090313-110408.jpg
pull: /sdcard/Robotium-Screenshots/090313-110406.jpg -> ./090313-110406.jpg
pull: /sdcard/Robotium-Screenshots/090313-110404.jpg -> ./090313-110404.jpg
5 files pulled. 0 files skipped.
61 KB/s (338736 bytes in 5.409s)

1
আমি এটি চেষ্টা করেছিলাম, তবে এটি কেবল কয়েকটি ডিরেক্টরি টেনেছিল। এটির মানদণ্ড কী তা নিশ্চিত নয়।
আকজয়

2
আপনি যদি রুটের মালিকানাধীন কোনও ফোল্ডার টানতে চান তবে একটি adbরুট সেশন শুরু করুন (ব্যবহার করে $ adb root)।
মাস্টারএএম

কমান্ডটি রুট হিসাবে চালান ঠিক যেমন @ মাস্টার বলেছেন! কোনও সমস্যা ছাড়াই কাজ করেছেন! চিয়ার্স!
মিগিশা

@acjay খালি ফোল্ডারগুলি বাদ দেওয়া হয়েছে। এটি পুনরাবৃত্ত ফোল্ডারগুলির ক্ষেত্রেও সত্য যা শেষ পর্যন্ত খালি। যেমন /sdcard/folder1/folder2পরিণাম ডেকে আনবে folder1বাদ দেওয়া হচ্ছে যদি folder2খালি এবং সেখানে অধীনে অন্য কোন ফাইল folder1
এমডিমাওয়ার 14'15

40

আপনি যেখান থেকে ফাইলগুলি টানতে চান সেখান থেকে কেবল পথ দেওয়ার চেষ্টা করুন, এসডকার্ডের মতো সবেমাত্র ফাইলগুলি পেয়েছি

adb pull sdcard/

* অনুসন্ধান বিস্তৃত করতে বা ফিল্টার আউট পছন্দ * দেবেন না। যেমন: অ্যাডবি টান এসডিকার্ড / *। txt -> এটি অবৈধ।

শুধু এডিবি টান এসডিকার্ড /


এটি একটি অনেক পরিষ্কার সমাধান। এটি শব্দার্থগতভাবে আরও ভাল এবং ডিরেক্টরি কাঠামোটিও সংরক্ষণ করে।
মাইক

11
মনে রাখবেন যে, চিহ্ন / নেই মাতা।
অ্যাডরিন

আমার এডবি সংস্করণ 1.0.40 সহ পিছনে স্ল্যাশ দরকার নেই
পরিবর্তনশীল

6

হ্যাঁ, কেবল পুনরাবৃত্তভাবে ডিরেক্টরিটি টানতে পিছনের স্ল্যাশ ব্যবহার করুন। নেক্সাস 5 এবং অ্যাডবি-র বর্তমান সংস্করণ (মার্চ 2014) নিয়ে আমার জন্য কাজ করে।


আমার এডবি সংস্করণ 1.0.40 সহ পিছনে স্ল্যাশ লাগবে না
দুর্বল পরিবর্তনশীল

আমার গুগল পিক্সেল এক্সএল এ অ্যান্ড্রয়েড কিউ চলমান 1.0.32 অ্যান্ড্রয়েড ডিবাগ ব্রিজ সংস্করণে ট্রেলিং স্ল্যাশ প্রয়োজন
রক লি

2

এডিবি সংস্করণ 1.0.32 সহ অ্যান্ড্রয়েড 6 এ, আপনি যে ফোল্ডারটি অনুলিপি করতে চান তা রাখতে হবে / পিছনে রাখতে হবে। যেমনadb pull "/sdcard/".


আমার এডবি সংস্করণ 1.0.40 সহ পিছনে স্ল্যাশ লাগবে না
দুর্বল পরিবর্তনশীল

1

আপনি যদি জেলিবিন ব্যবহার করে সিমিডিডি শুরু করেন তবে আপনার পাঠযোগ্য, এডাব টান এসডকার্ড / এসডিকার্ড_ (তারিখ বা অতিরিক্ত) টাইপ করুন <--- এই ফাইলটি আগেই অ্যাডবি ডিরেক্টরিতে তৈরি করা দরকার তা নিশ্চিত করতে অ্যাডবি ডিভাইসগুলি টাইপ করুন। লাভ!

অন্যান্য সংস্করণে অ্যাডবি টান mnt / sdcard / sdcard_ টাইপ করুন (তারিখ বা অতিরিক্ত)

ফাইল তৈরির কথা মনে রাখুন বা আপনার দুজনের মধ্যে কোনও গোলমাল রয়েছে বা এটি কাজ করবে না।


1

যদি আপনি কোনও মূলযুক্ত ডিভাইস থেকে সীমাবদ্ধ অ্যাক্সেসের সাথে কোনও ডিরেক্টরি টানতে চান তবে আপনাকে রুট হিসাবে অ্যাডবি পুনরায় চালু করতে হবে: adb rootটানার আগে টাইপ করুন । অন্যথায় আপনি একটি ত্রুটি বলতে বলতে পাবেনremote object '/data/data/xxx.example.app' does not exist

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.