কোনও ফোল্ডারে সমস্ত ফাইল এবং ফোল্ডারগুলি কীভাবে সিমডিডি কল করে মুছবেন


93

আমি উইন্ডোজ ব্যবহার করি

আমি সিস্টেম কল দ্বারা একটি ফোল্ডারে সমস্ত ফাইল এবং ফোল্ডার মুছতে চাই।

আমি এর মতো কল করতে পারি:

>rd /s /q c:\destination
>md c:\destination

আপনি কি একটি সহজ উপায় জানেন?



উত্তর:


140

না, আমি জানি না।

আপনি যদি কোনও কারণে আসল ডিরেক্টরিটি ধরে রাখতে চান (এসিএল, এবং সি।), এবং পরিবর্তে সত্যই এটি খালি করতে চান, তবে আপনি নিম্নলিখিতগুলি করতে পারেন:

del /q destination\*
for /d %x in (destination\*) do @rd /s /q "%x"

এটি প্রথমে ডিরেক্টরি থেকে সমস্ত ফাইল সরিয়ে দেয়, এবং তারপরে পুনরাবৃত্তভাবে সমস্ত নেস্টেড ডিরেক্টরিগুলি সরিয়ে দেয়, তবে সামগ্রিকভাবে শীর্ষ স্তরের ডিরেক্টরিটি যেমন থাকে (তার বিষয়বস্তু বাদে) keeping

নোট করুন যে একটি ব্যাচ ফাইলের %মধ্যে আপনাকে forলুপের মধ্যে দ্বিগুণ করতে হবে :

del /q destination\*
for /d %%x in (destination\*) do @rd /s /q "%%x"

4
আমি ব্যাচের ফাইল ছাড়াই এটি করতে সক্ষম হয়েছি। দুটি ক্রিয়াকলাপ সংঘবদ্ধ করতে && ব্যবহার করুন
ম্যাট ব্রোখুইস

4
আমি একটি সম্পূর্ণ উইন্ডোজ-শেল নুব: এই উদাহরণটি দিয়ে আমি কীভাবে গন্তব্যটিকে কোনও পথে সেট করব?
low_rents 11

আপনি শব্দটি শব্দটিকে প্রতিস্থাপন করুন destination, সম্ভবত প্রয়োজনে পুরো জিনিসটির চারপাশে উদ্ধৃতি ব্যবহার করুন।
জোয়

4
এই উত্তরটি আমাকে দু: খিত করে তোলে, কারণ এটি সর্বোত্তম উত্তর
21

4
@ স্টেনসি: দ্বিতীয় লাইন কেবলমাত্র প্রদত্ত ডিরেক্টরি মুছতে পারে । এটি সত্যিই পুনরাবৃত্তভাবে করে, তবে এটি কোনও ফাইল মুছতে পারে না । সুতরাং, ডিরেক্টরিতে সমস্ত কিছু মুছে ফেলার জন্য আপনাকে সমস্ত ফাইল এবং সমস্ত ডিরেক্টরি মুছে ফেলতে হবে। নোট করুন যে এটি কোনও একক ডিরেক্টরি এবং এর মধ্যে থাকা সমস্ত কিছু মুছার বিষয়ে নয় । এটি এর মধ্যে সমস্ত কিছু মুছে ফেলা এবং পিতামাতার ডিরেক্টরিটি রাখা সম্পর্কে ।
জোয়

40

del c:\destination\*.* /s /qআমার জন্য কাজ। আমি আশা করি যে আপনার জন্য কাজ করে।


13
সমস্ত ফাইল মুছুন তবে ফোল্ডারগুলি নয়।
এরিক

4
আমার জন্য যা কাজ করেছে সেটি ফোল্ডারে গিয়েছিল। (শিফট ডান ক্লিক ক্লিক করুন, এখানে ওপেন del *.*
সিএমডি

আপেক্ষিক পাথের উদাহরণdel "../../server/front-end\*.*"
30'18

@ ড্যানিয়েলএল.ভ্যানডেনবোস, এটি খুব স্ক্রিপ্টযোগ্য নয়।
সিনিটেক

29

আমি মনে করি এটি করার সবচেয়ে সহজ উপায় হ'ল:

rmdir /s /q "C:\FolderToNotToDelete\"

পথে সর্বশেষ "\" গুরুত্বপূর্ণ অংশ।


27
এটি ফোল্ডারটি নিজেই মুছে দেয়।
আর্চি

নিখুঁত, এটি আমার দরকার :)
gNerb

এটি কি দীর্ঘস্থায়ী পথটি পুনরাবৃত্তভাবে কাজ করে?
eomeroff

4
mkdir C:\FolderToNotToDeleteএটির সংমিশ্রণটি আমার পক্ষে যথেষ্ট ছিল :)
qbolec

4
আপনার পিতামাতাল ফোল্ডারটি (যা এইভাবে মুছে ফেলা হয়) কিছু গুরুত্বপূর্ণ অনুমতি ধরে রাখলে এটি এখন আপনার সমস্যার সমাধান করতে পারে ...
ম্লাদেন বি।


13

যদি সাবফোল্ডার নামগুলিতে ফাঁকা জায়গা থাকতে পারে তবে আপনাকে এড়িয়ে যাওয়া উদ্ধৃতিতে তাদের ঘিরে রাখা দরকার। নিম্নলিখিত উদাহরণটি ব্যাচ ফাইলে ব্যবহৃত কমান্ডগুলির জন্য এটি দেখায়।

set targetdir=c:\example
del /q %targetdir%\*
for /d %%x in (%targetdir%\*) do @rd /s /q ^"%%x^"

6

ফাইল মুছতে:

del PATH_TO_FILE

এতে সমস্ত ফাইল সহ ফোল্ডার মুছতে:

rmdir /s /q PATH_TO_FOLDER

নির্দিষ্ট ফোল্ডার থেকে সমস্ত ফাইল মুছতে (ফোল্ডারটি নিজেই মোছা নয়) কিছুটা জটিল। del /s *.*ফোল্ডারগুলি মুছতে পারে না, তবে সমস্ত সাবফোল্ডার থেকে ফাইলগুলি সরিয়ে দেয়। সুতরাং দুটি কমান্ডের প্রয়োজন:

del /q PATH_TO_FOLDER\*.*
for /d %i in (PATH_TO_FOLDER\*.*) do @rmdir /s /q "%i"

আপনি যা চান (ফোল্ডার বা ফাইল) এর মতো মুছতে একটি স্ক্রিপ্ট তৈরি করতে পারেন mydel.bat:

@echo off
setlocal enableextensions

if "%~1"=="" (
    echo Usage: %0 path
    exit /b 1
)

:: check whether it is folder or file
set ISDIR=0
set ATTR=%~a1
set DIRATTR=%ATTR:~0,1%
if /i "%DIRATTR%"=="d" set ISDIR=1

:: Delete folder or file
if %ISDIR%==1 (rmdir /s /q "%~1") else (del "%~1")
exit /b %ERRORLEVEL%

ব্যবহারের কয়েকটি উদাহরণ:

mydel.bat "path\to\folder with spaces"
mydel.bat path\to\file_or_folder

1

একটি সহজ এক-লাইন বিকল্প হ'ল আপনার ফাইল সিস্টেমে কোথাও একটি ফাঁকা ডিরেক্টরি তৈরি করা এবং তারপরে ROBOCOPY( http://technet.microsoft.com/en-us/library/cc733145.aspx ) ব্যবহার করুন/MIR সমস্ত ফাইল সরানোর স্যুইচ এবং সাবফোল্ডার ডিফল্টরূপে, রোবোকপি সুরক্ষা অনুলিপি করে না, সুতরাং আপনার মূল ফোল্ডারে থাকা এসিএল অক্ষত থাকবে।

এছাড়াও সম্ভবত পুনরায় চেষ্টা করার জন্য একটি মান সেট করতে চান /r, কারণ পুনরায় চেষ্টা করার ডিফল্ট সংখ্যাটি 1 মিলিয়ন।

robocopy "C:\DoNotDelete_UsedByScripts\EmptyFolder" "c:\temp\MyDirectoryToEmpty" /MIR /r:3

0

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

for /d in (*) do rd /s /q "%a" & (
md "%a")

আমি এগুলিকে দুটি লাইনে বিভক্ত করলাম (প্রথম লাইনের পরে এন্টার চাপুন, এবং যখন দ্বিতীয় লাইন যুক্ত করার জন্য আরও জিজ্ঞাসা করা হবে) কারণ কোনও এক লাইনে প্রবেশ করলে এটি কাজ করবে না। এই কমান্ডটি প্রতিটি ডিরেক্টরি মুছে ফেলবে এবং তারপরে একটি নতুন তৈরি করবে যা খালি রয়েছে, এইভাবে মূল ডিরেক্টরিতে থাকা সমস্ত ফাইল এবং সাবফোল্ডারগুলি মুছে ফেলা হবে।


0

মূল ডিরেক্টরিতে নেভিগেট করুন

লাইন 1 "অভিভাবক ডিরেক্টরি" টিপে

সাব ফোল্ডারগুলি মুছুন

লাইন 2 আরডি / এস / কিউ। 2> নুল

https://superuser.com


4
আপনি যদি ব্যবহার করেন তবে আপনাকেও ব্যবহার pushdকরতে popdহবে। দুর্ভাগ্যক্রমে, popdযখন আপনি ডিরেক্টরিটি মুছবেন তখন কাজ করে না। সুতরাং, আপনি cdপরিবর্তে করতে হবে pushd
xmedeko

0

এটি 2 সহজ পদক্ষেপ নেয়। [/ q এর অর্থ নিঃশব্দ, / f এর অর্থ জোর করা, / গুলি অর্থ সাবডির]

  1. ডিরেক্টরিটি সরিয়ে ফেলতে খালি করুন

    del *.* /f/s/q  
    
  2. ডিরেক্টরিটি সরান

    cd ..
    rmdir dir_name /q/s
    

ছবি দেখো


0

এটি ব্যবহার করে দেখুন, এটি রুট ডিরের নীচে সমস্ত মাইফোল্ডার অনুসন্ধান করবে এবং মাইফোর্ডার নামক সমস্ত ফোল্ডার মুছে ফেলবে

for /d /r "C:\Users\test" %%a in (MyFolder\) do if exist "%%a" rmdir /s /q "%%a"

0
del .\*

এই কমান্ডটি আপনার কমান্ড লাইনের বর্তমান নেভিগেশন থেকে সমস্ত ফাইল এবং ফোল্ডার মুছে ফেলবে।

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