উইন্ডোজে প্রচুর পরিমাণে ফাইল মোছা ধীর is


34

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

উইন্ডোজে কোনও ফোল্ডার মুছে ফেলার এবং এর মধ্যে থাকা ফাইলের সংখ্যার সাথে আনুপাতিক সময় নেওয়ার কোনও উপায় আছে কি?


2
এবং এটি হ'ল সুপারগ্রেজার / প্রশ্নগুলি
হুগো

উত্তর:


60

উইন্ডোজে কোনও ফোল্ডার মুছে ফেলার এবং এর মধ্যে থাকা ফাইলের সংখ্যার সাথে আনুপাতিক সময় নেওয়ার কোনও উপায় আছে কি?

আমি এটি মনে করি না, তবে কিছু পদ্ধতি অন্যদের তুলনায় স্পষ্টতই দ্রুত।

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

পরবর্তী সেরা হ'ল rmdir /s/q foldernameকমান্ড লাইন থেকে ব্যবহার করা । del /f/s/q foldernameখুব ভাল, কিন্তু এটি ডিরেক্টরি কাঠামোর পিছনে ছেড়ে যায়।

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

del /f/s/q foldername > nul
rmdir /s/q foldername

এটি উইন্ডোজ এক্সপি এনক্রিপ্টড ডিস্কের সাথে সময় পরীক্ষার উপর ভিত্তি করে single 30 গিগাবাইট / 1,000,000 ফাইল / 15,000 ফোল্ডার মুছে ফেলতে: একক আরএমডিয়ারের চেয়ে প্রায় তিনগুণ দ্রুত: rmdir~ 2.5 ঘন্টা del+rmdirলাগে , ir 53 মিনিট সময় নেয়। আরও তথ্য এখানে

এটি আমার জন্য একটি নিয়মিত কাজ, তাই আমি সাধারণত আমার মুছে ফেলতে হবে এমন জিনিসগুলি সি: \ স্টাফডোডিলিটে সরিয়ে রাখি এবং মুছে ফেলুন del+rmdirbat ব্যাট ফাইলে সেই আদেশগুলি those এটি রাতে চালানোর সময় নির্ধারিত হয়েছে, তবে কখনও কখনও দিনের বেলাতে এটি চালানো দরকার তাই তত দ্রুত।


অন্তর্ভুক্ত করার জন্য আপভোট করুন> nul
নুক্টু

1
উইন্ডোজ আমাকে পুরানো এসডিকে ব্যাকআপ থেকে কয়েক হাজার ফাইল স্ক্যান করার জন্য অপেক্ষা করতে বাধ্য করছিল। এটি কমপক্ষে এক ঘন্টা সময় নিতে যাচ্ছিল, এটি আমার ক্ষেত্রে 10 মিনিট সময় নিতে পারে। : আমি পুনরাবৃত্তি ব্যবহারের জন্য একটি ব্যাট ফাইলে এটা রেখেছি gist.github.com/DavidEdwards/61d4d336232284b33b237b04da5bfe10
নসস

এছাড়াও একই উত্তর এতে আরও তথ্য দেখতে superuser.com/questions/19762/mass-deleting-files-in-windows
সামরিক শিম্পাঞ্জী

1

উইন্ডোজে কোনও ফোল্ডার মুছে ফেলার এবং এর মধ্যে থাকা ফাইলের সংখ্যার সাথে আনুপাতিক সময় নেওয়ার কোনও উপায় আছে কি?

আচ্ছা, হ্যাঁ, পার্টিশনটি ফর্ম্যাট করুন। আমি কিছুটা বিস্মিত হয়েছি কেউ আগের 9 বছরেও পরামর্শ দেয়নি।

এটি বেশ কট্টরপন্থী, তবে আপনি যদি নির্দিষ্ট ফোল্ডারের জন্য ঘন ঘন এটি করার প্রত্যাশা করেন তবে এটির জন্য একটি পৃথক বিভাজন তৈরি করা সার্থক হতে পারে।


যদি এটি খুব মৌলবাদী হয় তবে অন্যান্য উত্তরগুলি আপনার একমাত্র আশা। সার্ভারফল্টে কেন রয়েছে তার একটি ভাল ব্যাখ্যা রয়েছে । এটি লিনাক্স এবং এক্সএফএস ফাইল সিস্টেমগুলির জন্য তবে একই যুক্তি এখানে প্রয়োগ হয়। বিল্ড-ইন ওএস ফাংশনগুলিতে আপনি বেশি উন্নতি করতে পারবেন না।

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

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

import tqdm
import sys
import os

location = sys.argv[1]
directory = os.fsencode(location)

with os.scandir(directory) as it:
    for dir_entry in tqdm.tqdm(it):
        try:
            os.remove(dir_entry.path)
        except OSError:
            pass  # was not a file

এটি আমার 12 বছরের পুরানো SEAGATE ST3250620NS এ প্রায় 250 টি ফাইল / গুলি মুছে দেয়। আমি ধরে নিয়েছি এটি আপনার ড্রাইভে আরও দ্রুত হবে।

যাইহোক, এই মুহুর্তে এটি কেবল মাইক্রো-অপ্টিমাইজেশন, সুতরাং আপনার যদি একটি ডিরেক্টরিতে কয়েক মিলিয়ন ফাইল না থাকে তবে খুব বেশি কিছু করা যাবে না। (আমার মতো, হ্যাঁ, আমি কী করেছি ডি :)



0

নিশ্চিত করুন যে আপনি ক্লাউডে ফাইলগুলি ব্যাক আপ করছেন না এবং একই সাথে সেগুলি মুছার চেষ্টা করছেন না!

অনেকগুলি ক্লাউড ব্যাকআপ সলিউশন সহ ফাইলগুলি ব্যাকআপ করার সময় লক হয়ে যাবে এবং তারপরে আপনার সেগুলি ব্যাক আপ হওয়ার জন্য অপেক্ষা করতে হবে।

আপনার যদি এই সমস্যাটি একটি টেম্প ডিরেক্টরি বলে (বা এমন কিছু যা ব্যাক আপ প্রয়োজন হয় না) বলুন তা নিশ্চিত করুন যে আপনার ব্যাকআপ সেটে টেম্প ডিরেক্টরিটি নির্বাচিত হয়নি।


0

আমি খুঁজে পেয়েছি যে ডিরেক্টরিগুলির কয়েকটি স্তরযুক্ত ফোল্ডারগুলি উইন্ডোটি দ্রুত তাদের সরিয়ে দেওয়ার ক্ষমতা কমিয়ে দেয়। আমি এমন একটি প্রকল্পে কাজ করছিলাম যেখানে নোড_মডিউলগুলি ফোল্ডারে যেতে 5 স্তর লেগেছিল যা মুছে ফেলার জন্য সর্বদা একটি জন্তু, এমনকি

del /f/s/q foldername > nul
rmdir /s/q foldername

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

একবার আমার গভীর ডিরেক্টরিটি খালি হয়ে গেলে আমি কয়েক স্তরে গিয়ে একই জিনিসটি করি। এটি আমাকে মুছে ফেলতে সক্ষম করে যা আমাকে এক ঘন্টা ধরে কয়েক মিনিটের মধ্যে নিয়ে গেছে।

এটি একটি খুব ম্যানুয়াল প্রক্রিয়া এবং সম্ভবত কিছু সাফল্যের সাথে লিখিত হতে পারে, তবে এটি আমার জন্য কী কার্যকর


0

এনপিএম প্রকল্পগুলি মোছার সময় আমি ব্যাট ফাইলটি তৈরি করতে হুগোর মূল উত্তরটি ব্যবহার করেছি। আমি একটি পাথ ভেরিয়েবল যুক্ত করেছি এবং কেবল একবারে পথটি অনুলিপি করে আটকে দিতে হবে। .Bat ফাইলটিতে ডাবল ক্লিক করুন এবং এটি সমস্ত কাজ করে - সবকিছু টাইপ করার দরকার নেই।

set path="FOLDER_PATH"
del /f/s/q %path% > nul
rmdir /s/q %path%

ব্যবহারের উদাহরণ:

set path="C:\Projects\My React Project"
del /f/s/q %path% > nul
rmdir /s/q %path%

-2

আপনি কি কমান্ড প্রম্পট ব্যবহার করার চেষ্টা করেছেন?

rmdir /s /q foldername

জিইউআই-তে সমস্ত বড় ফাইল অপারেশন ধীর - বেশিরভাগ কারণ ভিজ্যুয়াল প্রতিক্রিয়া (অগ্রগতি বার) বহুবার পুনরায় রঙ করতে হয়


5
এটা অপদার্থ. অপারেশন ধীর হতে পারে কারণ জিইউআইকে প্রয়োজনীয় সময় অনুমান করার জন্য সমস্ত ফাইল গণনা করা প্রয়োজন তবে পুনরায় রঙ করার কারণে নয়।
বেন্ডার

ভুল ... আমি ক্রমাগত বড় ফোল্ডারগুলির সাথে কাজ করি (বেশিরভাগ win2k সার্ভার), এবং জিনিসগুলি সরানো / অনুলিপি / মুছতে টোটালকম্যান্ডার ব্যবহার করি। আমি লক্ষ্য করেছি যে আমি যদি টিসিটি ন্যূনতম করি বা টিসি স্টাফের উপরে অন্য অ্যাপ্লিকেশন উইন্ডোটি রাখি তবে কমপক্ষে 50% দ্রুত সম্পন্ন হয়ে যায়। টিসি এখনও ভিসিয়াল স্টাফগুলি পুনরায় রঙ করছে, তবে কম্পোজিটিংয়ে সবকিছু উপেক্ষা করা হচ্ছে ...
এনইজেসি

6
আপনার কম্পিউটারটি কি এত গতিযুক্ত যে জিইউআই অপারেশনগুলি ডিস্ক আই / ও এর কার্যকারিতা প্রভাবিত করে? বা টোটালকম্যান্ডারটি কি কেবল অবিশ্বাস্যভাবে খারাপভাবে কোডড করেছে? ডিস্কটি সিপিইউ, র‌্যাম এবং ভিডিও কার্ডের থেকে কয়েক হাজার বা কয়েক হাজার গতি কম। গ্রাফিকগুলি যদি আপনার ডিস্কটি কমিয়ে দেয় তবে আপনার বড় সমস্যা রয়েছে।
মিঃ শাইনি এবং নিউ 安

1
প্রশ্নটি একটি কারণের জন্য "ফাইলের সংখ্যার সাথে আনুপাতিকভাবে সময় নেওয়া হয়নি"। আমি 50% দ্রুত খুঁজছি না
সিন্ধ্রি ট্রাস্টসন

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