উইন্ডোজের জন্য "আরএম-আরএফ" সমতুল্য?


508

আমার ফোল্ডার এবং এর শিশুদের পুনরাবৃত্তভাবে মুছতে একটি উপায় দরকার need

এটির জন্য কি পূর্বনির্মাণের কোনও সরঞ্জাম রয়েছে, না আমার একটি লেখার দরকার আছে?

DEL /S ডিরেক্টরি মুছে না।

DELTREE উইন্ডোজ 2000+ থেকে সরানো হয়েছে


1
ডেল / এস (ক) কিছুতেই কাজ করে না (এটি কেবল কয়েকটি সংস্করণে উপলভ্য) বা (খ) শীর্ষ-স্তরের ডিরেক্টরিটি ছেড়ে দেয় তবে এর অধীনে সমস্ত কিছু মুছতে পারে বা (গ) সমস্ত ফাইল মুছে ফেলার সময় সমস্ত ডিরেক্টরি ছেড়ে যায়?
wnoise

অ্যারোন, উত্তর সি, আপনাকে ডিরেক্টরি এবং ফাইলগুলি সরাতে rmdir / s ব্যবহার করতে হবে।
বুড়ো

31
এটি কি আসলে format c:লিনাক্সের ইনস্টলেশন নয় ? আমি অবশ্যই মজা করছি।
বেসিল স্টারিনকিভিচ

উত্তর:


694

আরএমডিআইআর বা আরডি যদি আপনি ক্লাসিক কমান্ড প্রম্পট (সেন্টিমিড। এক্সেক্স) ব্যবহার করেন:

rd /s /q "path"

আরএমডিআইআর [/ এস] [/ কিউ] [ড্রাইভ:] পাথ

আরডি [/ এস] [/ কিউ] [ড্রাইভ:] পাথ

/ S ডিরেক্টরি ছাড়াও নির্দিষ্ট ডিরেক্টরিতে সমস্ত ডিরেক্টরি এবং ফাইল সরিয়ে দেয়। ডিরেক্টরি গাছ সরানোর জন্য ব্যবহৃত হয়।

/ কিউ নিঃশব্দ মোড, / এস দিয়ে ডিরেক্টরি ট্রি সরানো ঠিক আছে কিনা জিজ্ঞাসা করবেন না

আপনি PowerShell ব্যবহার করে থাকেন আপনি ব্যবহার করতে পারেন Remove-Item(যা ওরফে হয় del, erase, rd, ri, rmএবং rmdir) এবং একটি লাগে -Recurseযুক্তি যে shorted যাবে-r

rd -r "path"

84
এটি উল্লেখ করার মতো যে, প্রচুর সংখ্যক ফাইলের জন্য, rmdir / s / qটি সাধারণত এক্সপ্লোরার সমতুল্য "সিলেক্ট দির, শিফট + মুছুন" অপারেশন থেকে উল্লেখযোগ্যভাবে দ্রুত হয়।
ওয়েজ

9
এটি আরএম-আরএফ-এর মতো ফাইলগুলি মুছবে না এবং ডিরেক্টরি উপস্থিত না থাকলে এটি শূন্য-অ-মানও প্রদান করে, সুতরাং rd /s /q foo && echo "yay"ডিরেক্টরি "foo" উপস্থিত না থাকলে ব্যর্থ হবে will
ডার্ক গ্রেনেভেল্ড

17
দির যদি কি হয়। খালি নেই এবং কিছু ফাইল পেয়েছে Access is deniedএবং অন্যদের The process cannot access the file because it is being used by another process?
ইউজিন

6
আমি মাত্র সাতটিতে এটি চেষ্টা করেছি এবং আপনাকে / এস এবং / কিউ (ক্যাপস) করতে হবে
ফোর্ট প্রিফেক্ট

2
এখানে রহস্যময়। আমি জানি যে আমি এই আদেশটি চেষ্টা করেছি এবং ডিরেক্টরি ট্রিতে ফাইল থাকলে এটি কাজ করে না; এখন আমি ফিরে যাই এবং। । । যাদুতে এটি কাজ করে বলে মনে হচ্ছে। অন্য কেউ কি এর সাথে বেমানান আচরণ অনুভব করে ?!
অ্যালেক্স হল

139

অ্যাডমিন:

takeown /r /f folder
cacls folder /c /G "ADMINNAME":F /T
rmdir /s folder

Sys ফাইল সহ যে কোনও কিছুর জন্য কাজ করে

সম্পাদনা: আমি আসলে সবচেয়ে ভাল উপায় খুঁজে পেয়েছি যা ফাইলের পথটিকেও দীর্ঘতর সমস্যার সমাধান করে:

mkdir \empty
robocopy /mir \empty folder

3
আমার নায়ক! এবং একটি টিপ: আপনি আপনার খালি ফোল্ডারটি সি: create ফাঁকা তৈরি করুন, তারপরে প্রতিটি পাগল ফোল্ডারের মধ্যে একবার কেবল এটি করতে পারেনrobocopy /mir c:\empty .
লিয়ন পেলেটিয়ার

takeownআমাকে সাহায্য হিসাবে আমি ভুল করে rsync সাথে Linux সিস্টেম থেকে ফোল্ডারের অনুলিপি এবং আমি যে ফোল্ডার মুছে ফেলতে কোন বিশেষাধিকার ছিল ... এমনকি robocopy কাজ করেন। ধন্যবাদ
জর্দা

1
খুব সুন্দর উত্তর। এটা কাজ করে। (পৃষ্ঠার অন্যান্য সমস্ত উত্তর দেয় না)। কিন্তু ক্যাকলস অবচিত করা হয়। একটি সমসাময়িক উত্তর দেওয়া সম্ভব, দয়া করে? দ্বিতীয় রূপটি ইতিমধ্যে কাজ করে এবং হ্রাস করা হয় না।
গাংনাস

এটি আমার জন্য কিছু করে না। কেউ অনুগ্রহ করে কীভাবে এটি কাজ করার কথা? (রোবোকপি) - এটি ফোল্ডারগুলির সামগ্রী মুছে ফেলতে পারে তবে সেগুলি ফোল্ডারগুলি নিজেরাই নয়
রাল্ফ

114

RMDIR [/S] [/Q] [drive:]path

RD [/S] [/Q] [drive:]path

  • /S ডিরেক্টরি নিজেই ডিরেক্টরি ছাড়াও নির্দিষ্ট ডিরেক্টরিতে সমস্ত ডিরেক্টরি এবং ফাইল সরিয়ে দেয়। ডিরেক্টরি গাছ সরানোর জন্য ব্যবহৃত হয়।

  • /Q নিরিবিলি মোড, ডাইরেক্টরি ট্রিটি সরিয়ে ফেলতে ঠিক আছে কিনা জিজ্ঞাসা করবেন না /S


13
প্যারামিটার ব্যাখ্যার জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে স্বীকৃত উত্তর এটি করে না।
টমাস

1
প্রশ্নের সহজতম, নিখুঁত উত্তর। গ্রহণযোগ্য হওয়া উচিত।
আর্টিফ 3 এক্স

19

আপনি সাইগউইন ইনস্টল করতে পারেন যা এর rmপাশাপাশি রয়েছে lsetc.


19

পথে যান এবং এই আদেশটি ট্রিগার করুন।

rd /s /q "FOLDER_NAME"

/ s: নির্দিষ্ট ডিরেক্টরি এবং যে কোনও ফাইল সহ সমস্ত উপ-ডিরেক্টরিকে সরিয়ে দেয়। একটি গাছ অপসারণ করতে / গুলি ব্যবহার করুন।

/ প্রশ্ন: শান্ত মোডে rmdir চালায়। নিশ্চিতকরণ ছাড়াই ডিরেক্টরিগুলি মুছে দেয়।

/? : প্রদর্শন কমান্ড প্রম্পটে সাহায্য.


9

ডিরেক্টরি মুছে ফেলার জন্য (এটি বিদ্যমান থাকুক না কেন) নিম্নলিখিতটি ব্যবহার করুন:

if exist myfolder ( rmdir /s/q myfolder )


6

গৃহীত উত্তরটি দুর্দান্ত, তবে ধরে নেওয়া যে আপনি নোড ইনস্টল করেছেন, আপনি নোড লাইব্রেরি "রিমরাফ" দিয়ে আরও স্পষ্টভাবে এটি করতে পারেন যা গ্লোব্বিং নিদর্শনগুলিকে অনুমতি দেয়। আপনি যদি এটি প্রচুর ব্যবহার করেন (আমি করি) তবে এটি বিশ্বব্যাপী ইনস্টল করুন।

yarn global add rimraf

তারপরে, উদাহরণস্বরূপ, আমি নিয়মিতভাবে ব্যবহার করি এমন একটি প্যাটার্ন:

rimraf .\**\node_modules

বা এমন এক-লাইনারের জন্য যা আপনাকে গ্লোবাল ইনস্টলটি ডজ করতে দেয় তবে প্যাকেজ গতিশীল ডাউনলোডের জন্য এটি কিছুটা সময় নেয়:

npx rimraf .\**\node_modules

2
ওএস-অজিনস্টিক হওয়ায় সমস্যার একটি শক্ত সমাধান।
Denialos

5

এই আদেশটি ব্যবহার করে দেখুন:

del /s foldername

আমার জন্য w / rmdir / s / q সংমিশ্রণে কাজ করেছে কারণ কিছু ফাইল লক হয়ে গেছে এবং rmdir সেগুলিতে ব্যর্থ হবে। ডেল / ফোল্ডারনাম লক করা ফাইলগুলিকে টুকরো টুকরো করে দেয় যার ফলে rmdir কে রুট দির থেকে মুক্তি পেতে দেওয়া হয়েছিল। খুশী হলাম।
বিবিকিচিকেনরোবট


4

প্রথমে আসুন পর্যালোচনা করা যাক rm -rf:

C:\Users\ohnob\things>touch stuff.txt

C:\Users\ohnob\things>rm -rf stuff.txt

C:\Users\ohnob\things>mkdir stuff.txt

C:\Users\ohnob\things>rm -rf stuff.txt

C:\Users\ohnob\things>ls -l
total 0

C:\Users\ohnob\things>rm -rf stuff.txt

তিনটি পরিস্থিতি রয়েছে যেখানে rm -rfসাধারণত ব্যবহৃত হয় যেখানে এটি প্রত্যাশিত হয় 0:

  1. নির্দিষ্ট পাথের অস্তিত্ব নেই।
  2. নির্দিষ্ট পাথ বিদ্যমান এবং এটি একটি ডিরেক্টরি।
  3. নির্দিষ্ট পাথ বিদ্যমান এবং এটি একটি ফাইল।

আমি সম্পূর্ণ অনুমোদনের জিনিসটি অগ্রাহ্য করতে যাচ্ছি, তবে উইন্ডোজের জিনিসগুলিতে যে কোনওভাবেই নিজেরাই লেখার অনুমতি অস্বীকার করার চেষ্টা করে না (ঠিক আছে, এটি একটি রসিকতা হিসাবে বোঝানো হয়েছে ...)।

প্রথমে 0 তে সেট ERRORLEVELকরুন এবং তারপরে পাথটি কেবলমাত্র উপস্থিত থাকলে মুছে ফেলুন, এটি ডিরেক্টরি কিনা তা নির্ভর করে বিভিন্ন কমান্ড ব্যবহার করে। পাথের অস্তিত্ব না থাকলে 0 তে IF EXISTসেট ERRORLEVELকরা হয় না, তাই ERRORLEVELস্বাভাবিক rm -rfব্যবহারের অনুকরণ করে এমনভাবে সাফল্য সঠিকভাবে সনাক্ত করার জন্য প্রথমে 0 এ সেট করা প্রয়োজন । এর RDসাথে গার্ডিং IF EXISTকরা প্রয়োজনীয় কারণ লক্ষ্যটির অস্তিত্ব না থাকলে RDভিন্ন rm -f, ত্রুটি ছুঁড়ে দেবে।

নিম্নলিখিত স্ক্রিপ্ট স্নিপেট অনুমান করে যে DELPATH পূর্বনির্ধারিত। (এই নিরাপদ যখন আপনি ভালো কিছু করতে হয় SET DELPATH=%1। নির্বাণ চেষ্টা করুন ECHO %1একটি .cmdএবং এটি তার মধ্যে ব্যবধান সহ একটি আর্গুমেন্ট ক্ষণস্থায়ী এবং দেখুন সেখানে কি নিজের জন্য এরকম)। স্নিপেট সম্পূর্ণ হওয়ার পরে, আপনি ব্যর্থতাটি পরীক্ষা করতে পারেন IF ERRORLEVEL 1

: # Determine whether we need to invoke DEL or RD or do nothing.
SET DELPATH_DELMETHOD=RD
PUSHD %DELPATH% 2>NUL
IF ERRORLEVEL 1 (SET DELPATH_DELMETHOD=DEL) ELSE (POPD)
IF NOT EXIST %DELPATH% SET DELPATH_DELMETHOD=NOOP
: # Reset ERRORLEVEL so that the last command which
: # otherwise set it does not cause us to falsely detect
: # failure.
CMD /C EXIT 0
IF %DELPATH_DELMETHOD%==DEL DEL /Q %DELPATH%
IF %DELPATH_DELMETHOD%==RD RD /S /Q %DELPATH%

পয়েন্টটি হ'ল, পরিবেশ যখন পসিক্সের সাথে খাপ খায় তখন সবকিছুই সহজ। অথবা আপনি যদি একটি ন্যূনতম এমএসওয়াইএস ইনস্টল করেন এবং কেবল এটি ব্যবহার করেন।



3

এখানেই সব পাবেন আপনি যা করতে চান...

নিম্নলিখিত লাইনের সাহায্যে একটি ব্যাচ ফাইল তৈরি করুন

RMDIR /S %1

আপনার ব্যাচের ফাইলটি সেভ করুন Remove.batএবং এতে রাখুনC:\windows

নিম্নলিখিত রেজিস্ট্রি কী তৈরি করুন

HKEY_CLASSES_ROOT\Directory\shell\Remove Directory (RMDIR)

নিম্নলিখিত মান সহ regeditডিফল্ট মান চালু এবং আপডেট করুনHKEY_CLASSES_ROOT\Directory\shell\Remove Directory (RMDIR)\default

"c:\windows\REMOVE.bat" "%1"

এটাই! এখন আপনি যে কোনও ডিরেক্টরিতে ডানদিকে ক্লিক করতে পারেন এবং আরএমডিআইআর ফাংশনটি ব্যবহার করতে পারেন


3

পাওয়ারশেল ব্যবহার 5.1

 get-childitem *logs* -path .\ -directory -recurse | remove-item -confirm:$false -recurse -force

আপনি মুছে ফেলতে চান ডিরেক্টরি নামের লগগুলি প্রতিস্থাপন করুন ।

get-childitem বর্তমান পথ (।) থেকে পুনরাবৃত্তভাবে নামের সাথে শিশুদের ডিরেক্টরি অনুসন্ধান করে।

অপসারণ-আইটেম ফলাফল মুছে দেয়।


2

আপনি GnuWin32 ইনস্টল করতে পারেন এবং উইন্ডোজে নেটিভ কম্যান্ডস ব্যবহার করতে পারেন । উইন্ডোগুলির একটি মিন্টি তাজা কপিতে অন্য কিছু ইনস্টল করার আগে আমি এটি ইনস্টল করি। :)


2

আপনার নিজের ঝুঁকিতে ব্যবহার করুন. তথ্য 'যেমন আছে' সরবরাহ করা হয়েছে। অত্যধিক পরীক্ষা করা হয়নি।

উইন্ডোজ আইকনটিতে রাইট-ক্লিক করুন (সাধারণত নীচে বাম দিকে)> "উইন্ডোজ পাওয়ারশেল (অ্যাডমিন)" ক্লিক করুন> এই কমান্ডটি ব্যবহার করুন (যথাযথ যত্ন সহকারে, আপনি যদি যত্নশীল না হন তবে আপনি সহজেই আপনার সমস্ত ফাইল মুছতে পারেন):

rd -r -include *.* -force somedir

somedirআপনি যে শূন্যস্থানটি অপসারণ করতে চান তা কোথায় ।

মনে রাখবেন যে বাহ্যিক সংযুক্ত ডিস্কগুলি, বা সমস্যাগুলি সহ ডিস্কগুলি সহ, উইন্ডোজ কখনও কখনও অদ্ভুত আচরণ করে - এটি মুছতে (বা কোনও অনুলিপি প্রয়াস) ত্রুটি করে না, তবুও নির্দেশিকাটি ডিরেক্টরি মোছা হয় না (বা অনুলিপি করা হয় না)। (আমি খুঁজে পেয়েছি যে এই ক্ষেত্রে, কমপক্ষে আমার জন্য, @n_y তার উত্তরে প্রদত্ত আদেশটি 'গেট-চাইলাইটাইট: ফাইল বা ডিরেক্টরিটি দুর্নীতিগ্রস্ত এবং অপঠনযোগ্য like' এর মতো ত্রুটি তৈরি করবে পাওয়ার ফলস্বরূপ)


1

উইন্ডোজ মেশিনে এনপিএম প্যাকেজ ইনস্টল করতে সমস্যা হচ্ছিল এবং যদি আপনি rm -rf...কমান্ড না পেয়ে বলে ত্রুটি দেখছেন তবে দেরিতে গুরুত্বপূর্ণ উত্তর দিন । উইন্ডোতে আরএম কমান্ড চালাতে আপনি ব্যাশ ক্লিপ ব্যবহার করতে পারেন ।

এনপিএম ব্যবহারকারীদের জন্য, আপনি এনপিএমের কনফিগারেশনটি npm config set script-shell "C:\Program Files\Git\bin\bash.exe"এইভাবে পরিবর্তন করতে পারবেন যদি আপনি যে এনএমপি প্যাকেজটি ইনস্টল করতে চেষ্টা করছেন তার একটি পোস্ট ইনস্টল স্ক্রিপ্ট রয়েছে যা rm -rfকমান্ড ব্যবহার করে , আপনি rmএনপিএম প্যাকেজে কোনও পরিবর্তন বা অক্ষম না করেই এই আদেশটি চালাতে সক্ষম হবেন পোস্ট ইনস্টল স্ক্রিপ্ট কনফিগার করুন। (উদাহরণস্বরূপ, তাদের পোস্ট ইনস্টল স্ক্রিপ্টগুলিতে কমান্ড styled-componentsব্যবহার করে rm)

আপনি যদি কেবল rmকমান্ডটি ব্যবহার করতে চান তবে আপনি সহজেই ব্যাশ ব্যবহার করতে পারেন এবং তর্কগুলি পাস করতে পারেন।

হ্যাঁ, আপনি উইন্ডোতে 'rm' কমান্ডটি ব্যবহার করতে পারেন।


0

আমার জন্য যা কাজ করেছে তা এখানে:

পথের দৈর্ঘ্য হ্রাস করার চেষ্টা করুন। অর্থাত্ :: সমস্ত ফোল্ডারগুলির নাম পরিবর্তন করুন যা এই জাতীয় কোনও ফাইলকে ক্ষুদ্রতম সম্ভাব্য নামে নিয়ে যায়। একটি অক্ষরের নাম বলুন। ফোল্ডার শ্রেণিবিন্যাসের উপরের দিকে নাম পরিবর্তন করতে যান। এর মাধ্যমে আপনি কার্যকরভাবে পথের দৈর্ঘ্য হ্রাস করুন। এখন অবশেষে সরাসরি ফাইলটি মোছার চেষ্টা করুন।



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