নির্দিষ্ট ফাইল এক্সটেনশন সহ সমস্ত ফাইল মুছতে পাওয়ারশেল


21

আমি একটি ডিরেক্টরি স্ক্যান করতে চাই (কোনও সাব নেই) এবং একটি এক্সটেনশন সহ যে কোনও ফাইল মুছতে .avi আমি এই বাক্য গঠনটি চেষ্টা করেছিলাম, তবে কোনও ত্রুটি নিক্ষেপ করা হয় নি, এবং কোনও ফাইল মুছে ফেলা হয় না। এই কোডটি আমি চেষ্টা করেছি

get-childitem 'C:\Users\ramrod\Desktop\Firefly' -include *.avi | foreach ($_) {remove-item $_.fullname}

.aviফোল্ডার থেকে সমস্ত ফাইল মুছতে কী পরিবর্তন করা উচিত ?


3
কি আপনাকে ব্যবহার থেকে বাধা দেয় rm *.avi? (হ্যাঁ, যে বৈধ PowerShell সিনট্যাক্স কারণ rmএকজন ওরফে হয় del
GiantTree

2
প্রযুক্তিগতভাবে, rmএবং delউভয়ই Remove-Itemসেমিডলেট এর উপাধি।
রুট

উত্তর:


15

ব্যবহার করুন del *.<extension>বা এর যে rmকোনও একটি নাম (যেমন আপনি যদি বেশি বেশি চাপ দেওয়ার জন্য অভ্যস্ত হন)।

সুতরাং এটি বর্তমান ওয়ার্কিং ডিরেক্টরিতে del *.aviশেষ হওয়া সমস্ত ফাইল মুছে ফেলা হবে .avi

del <directory>\*.<extension>অন্যান্য ডিরেক্টরিতে ফাইল মুছতে ব্যবহার করুন ।


14
পুনরাবৃত্তভাবে এটি করতেls *.avi -Recurse | foreach {rm $_}
কলব ক্যানিয়ন

11

ডিরেক্টরিতে পাওয়ারশেল ইনস্ট্যান্স খোলার পছন্দের পদ্ধতিটি ধরে নিলে, জেনেরিক সংস্করণটি নিম্নরূপ হবে:

Get-ChildItem *.avi | foreach { Remove-Item -Path $_.FullName }

ডিরেক্টরি-নির্দিষ্ট সংস্করণের জন্য:

Get-ChildItem -Path 'C:\Users\ramrod\Desktop\Firefly' *.avi | foreach { Remove-Item -Path $_.FullName }

সমস্ত অন্তর্ভুক্ত ফোল্ডার প্রভাবিত -Recurseকরতে যোগ করুন Get-ChildItem

উদাহরণ:

Get-ChildItem *.avi -Recurse | foreach { Remove-Item -Path $_.FullName }

2

Remove-ItemCommandlet আপনার প্রয়োজন হবে। যেখানে এভিআই ফাইল বিদ্যমান সেখানে মূল ফোল্ডারটি পাস করুন এবং recurseএকটি ফিল্টার সহ পতাকাটি পাস করুন :

Remove-Item 'C:\Users\ramrod\Desktop\Firefly\*' -recurse -Include *.avi

এটির মাধ্যমে ফাইলগুলির সন্ধান Get-ChildItemএবং Remove-Itemপ্রত্যেকের জন্য অনুরোধ করার চেয়ে দ্রুত কার্যকর করা উচিত ।

-WhatIfস্যুইচ যুক্ত করা আপনাকে প্রতিটি ফাইল মুছে ফেলার আগে অনুরোধ করবে, যা পাওয়ারশেলের সাথে কম স্বাচ্ছন্দ্যযুক্ত লোকদের পক্ষে নিরাপদ।


1
নিশ্চিত নয় কেন এই উত্তরটি একটি ডাউন-ভোট পেয়েছে। -WhatIfসুইচ অপ্রয়োজনীয়। আমি এই উত্তরে একটি সম্পাদনা জমা দিয়েছি। +1 Remove-Itemকমান্ডলেটটি আপনার যা প্রয়োজন তা হ'ল এবং বর্তমানে গৃহীত উত্তরের চেয়ে দ্রুত চলে।
গ্রেগ বার্গার্ট

-whatifআপনি কেবল যে ফাইলগুলি সরাতে চান সেগুলি আপনি মুছে ফেলবেন যাচাই করার জন্য এটি ব্যবহার করা ভাল ধারণা । এবং বিশেষত অজানা প্রযুক্তিগত দক্ষতার সাথে মুছে ফেলা কমান্ড দেওয়ার সময়। প্রশিক্ষণের চাকা চালিয়ে যাওয়া সেরা।
কিথ মিলার

0

ধরুন বর্তমান ডিরেক্টরিতে বেশ কয়েকটি পাঠ্য ফাইল রয়েছে।
dir * -include *.txt& dir *.txtকাজ হিসাবে প্রত্যাশিত কিন্তু dir -include *.txtকিছুই দেয়। স্ট্যাক ওভারফ্লোতে কারণটি ভালভাবে ব্যাখ্যা করা হয়েছে ।

সঠিক আদেশ:
dir 'C:\Users\ramrod\Desktop\Firefly\*.avi' | foreach {del $_}


0

এটি অবশেষে আমার জন্য এটি করেছিল - উপরে এবং নাদের উপরের সমস্ত চেষ্টা করে।

get-childitem "<drive>:\<folder>" -recurse -force -include *.<ext> | remove-item -force

নিশ্চিত যে দ্বি-বল প্রয়োগের প্রয়োজন নেই তবে এটিই কাজ করছে যাতে আমি যা আটকে আছি।


0

এটা চেষ্টা কর

Remove-Item "c:\temp\*.txt" 

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