উইন্ডোজে আরএমডিআইআর-এর কাছে ফাইলগুলির একটি তালিকা পাইপ করা সম্ভব?


9

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

আমি প্রথমে DIRএক্সপ্রেশনটির সাথে মেলে ডিরেক্টরিগুলির একটি সরল তালিকা ফিরে ব্যবহার করছি । আমি আউটপুট প্রতিটি লাইন আরএমডিআইআর কমান্ড মধ্যে পাইপ করতে চাই:

DIR *.delete /A:D /B /S | RMDIR /S /Q

তবে উপরের কমান্ডটি কাজ করছে বলে মনে হচ্ছে না। এটি কেন কাজ করে না তা আমি পুরোপুরি বুঝতে পারি না এবং যে কেউ ব্যাখ্যা সরবরাহ করতে পারে তার প্রতি কৃতজ্ঞ হব।

উত্তর:


5

আপনি আপনার ব্যাচ ফাইলে নিম্নলিখিতটি ব্যবহার করতে পারেন:

FOR /f "tokens=*" %%a in ('dir *.delete /A:D /B /S') DO RMDIR /S /Q %%a

এটি FORপ্রদত্ত কমান্ডের আউটপুটটি লুপ করতে কমান্ডটি ব্যবহার করে (এই ক্ষেত্রে dir *.delete /A:D /B /Sএবং প্রতিটি আইটেমের জন্য এটি ডিও স্টেটমেন্টের সাহায্যে নির্দিষ্ট কমান্ডটি চালাবে, RMDIR /S /Qআইটেমটি ভেরিয়েবল দ্বারা উল্লেখ করা হয়) %%a

এতে DIRআউটপুটটি কেবল পাইপিংয়ের কাজ না করার RMDIRকারণ হ'ল আপনি সম্পূর্ণ আউটপুট (একাধিক লাইন) একবারে একক প্যারামিটার হিসাবে প্রেরণ করছেন RMDIRFORএই আউটপুট নিচে কমান্ড বিরতি, প্রতিটি আইটেমের মাধ্যমে iterates এবং তারপর পাঠায় যে RMDIRএকের পর এক।

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