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


10

আমার কাছে একটি ফোল্ডার রয়েছে (আসুন একে এ বলুন) প্রচুর সাব-ফোল্ডার বি, সি, ডি, ই সহ, যা আবার সাবফোল্ডার বি 1, বি 2, বি 3, ... সি 1, সি 2, সি 3 রয়েছে ...

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


আমি ধরে নিচ্ছি যে আপনি প্রতিটি ফাইল একটি মূলের মধ্যে চান, সাবফোল্ডারে নয়? সুতরাং A \ ফাইল 1, A \ ফাইল 2, এ \ ফোল্ডার 2 \ ফাইল 1 নয়?
কানাডিয়ান লুক

@ লুক - হ্যাঁ, আপনি এটি পেয়েছেন ফোল্ডার এবং সাবফোল্ডারগুলিতে থাকা প্রতিটি ফাইল রুটে চলে গেছে।
দাড়কাক

উত্তর:


12

আমার মূল পোস্টটি মুভ কমান্ডে ফাইলের সম্প্রসারণ অন্তর্ভুক্ত করতে অবহেলিত। %~niকেবলমাত্র বেসনামটি ফেরত দেয়, আপনাকে %~nxiফাইলের নাম এবং এক্সটেনশন উভয়ই পেতে প্রয়োজন ! আমি আশা করি আপনি আমার অ্যাকাউন্টে আপনার ফাইলের নামগুলি ম্যাঙ্গেল করেননি! (

কমান্ড প্রম্পট থেকে:

cd /d C:\Path\To\A
for /r %i in (*) do @move "%i" "%~nxi"

পরে যদি খালি ফোল্ডারগুলি পরিষ্কার করতে হয়:

for /d %i in (*) do @rd /s /q "%i"

এখন, আপনার যদি কোনও ফাইল নাম সংঘর্ষ হয়, আপনি নিজেরাই। ওভাররাইটগুলি জোর করতে আপনি কমান্ডটিতে (আগে ) /yপ্যারামিটার যুক্ত করতে পারেন । আপনি যদি অন্যরকম কিছু চান, আপনার অন্য একটি প্রোগ্রামের দরকার যা আপনার জন্য সমস্ত কিছু স্বয়ংক্রিয়ভাবে নাম পরিবর্তন করতে পারে।move"%i"

এছাড়াও, আপনি একটি ব্যাচ ফাইলে এই ব্যবহার করতে চান, সব পরিবর্তন %করতে %%


সম্পর্কে জানতাম না FOR /r- চমৎকার!
ড্যানিয়েল অঙ্গুলিনির্দেশ

বাহ, খুব দুর্দান্ত। আমি তোমার কমান্ড-ফুকে প্রণাম করলাম
মকুবাই

2

একটি ফোল্ডার তৈরি করুন এবং অন্যান্য ফোল্ডারগুলিকে এতে অনুলিপি করুন, তারপরে সেই ফোল্ডারে ডান ক্লিক করুন এবং অনুসন্ধান নির্বাচন করুন । অনুসন্ধান বাক্সে প্রবেশ করুন *.*

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


আমার সেন্টিমিডিতে কমান্ড হিসাবে অনুসন্ধানের অস্তিত্ব নেই।
দাড়কাক

রিচার্ড আ কমান্ডের কথা বলছিল না। এটি পরিষ্কার করার জন্য তার উত্তর সম্পাদনা করেছেন।
আইজাক রবিনোভিচ

0

সাইগউইন (বা উইন্ডোজের জন্য অন্য ইউনিক্স পরিবেশ) ইনস্টল করুন এবং নিম্নলিখিতগুলি চালান:

cd A
find . -type f -exec mv {} . \;

আপনার mvএবং findবৈকল্পিকগুলির উপর নির্ভর করে এর find . -type f -exec mv -t . {} \;পরিবর্তে আপনার ব্যবহারের প্রয়োজন হতে পারে ।
ড্যানিয়েল বেক

1
অনেক ইউনিক্স সরঞ্জামের নেটিভ উইন্ডোজ পোর্টগুলির জন্য আমি unxutils.sourceforge.net
ডেনিস

@ ডেনিস আনক্স ইউটিসগুলি দুর্দান্ত, দুর্ভাগ্যক্রমে এখন অবধি বেশ পুরানো। আপনি যদি এই মুহুর্তে তাদের ব্যবহার করেন, আপনি কি আমার পোস্টটি তাদের সাথে কাজ করে যাচাই করতে পারবেন? mkdir -p a/a1 a/a2 a/a3 b/b1 b/b2 b/b3 cএবং touch a/a1/foo a/a1/bar a/a2/baz a/a3/qux b/b1/quux b/b2/quuux b/b3/quuuux c/cccপ্রস্তুতির জন্য।
ড্যানিয়েল বেক

-1 এটি সত্য হতে পারে তবে আমি কীভাবে এটি সেমিডিতে করব তা সম্পর্কে জিজ্ঞাসাবাদ করছিলাম।
রুক

@ ড্যানিয়েল নিঃসন্দেহে তারা বৃদ্ধ, আমি বছরের পর বছর ধরে তাদের টেনে আছি। আমি কেবল চেষ্টা করেছি find . -type f -exec mv {} . ;এবং মনে হচ্ছে এটি ঠিক আছে।
ডেনিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.