একটি অসীম পুনরাবৃত্ত ডিরেক্টরি গাছটি কীভাবে সরানো যায়?


9

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

আপনি এই জাতীয় কিছু দিয়ে শেষ:

D:\Student\2012\user.name\servername\student\2012\user.name\servername\student\2012\...

এবং যতদূর আমি বলতে সক্ষম হয়েছি এটি অসীম অবিরত রয়েছে।

সিস্টেম ট্রি থেকে মুছে ফেলার চেষ্টা করা হচ্ছে এটি সিস্টেম থেকে ফলাফলের উপর নির্ভর করে "ফাইল বা ফোল্ডার মুছতে ত্রুটি: ফাইল মোছা যায় না:"। নেটওয়ার্কের সাথে সংযুক্ত একটি উইন্ডোজ 7 সিস্টেম থেকে এটিকে মুছে ফেলার চেষ্টা করার ফলে একটি "ব্যবহারের ফোল্ডার" ত্রুটির ফলাফল হয়।

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

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

এটি একটি রহস্য।

সম্পাদনা: আমি আরও যুক্ত করতে পারি যে ডিরেক্টরিগুলি পুনরায় নামকরণ করা সম্ভব, কেবল সেগুলি সরাতে হবে না।


1
সার্ভার ফল্টে অনুরূপ সমস্যা সমাধান করা হয়েছিল ।
লিলিয়েনথাল

উত্তর:


14

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

যাইহোক, আমি গিট ইনস্টল করার সময় আমি গিট-ব্যাশও ইনস্টল করেছিলাম। গিট-ব্যাশে আপনি কমান্ডটি দিতে পারেন:

rm -rfd recursive_folder_name

এবং এটি এটি যত্ন নেবে।


গুরুত্বপূর্ণ দ্রষ্টব্য: এটি একটি বিশাল পরিমাণ সময় নিতে পারে ... বিরতি নিন, কিছু খান, একটি কফি পান করুন এবং ইউনিক্স সরঞ্জামটিকে এর কাজটি করতে দিন;)
আশ্চর্যরকমভাবে

ভিএমওয়্যার ভিত্তিক লিনাক্স ব্যবহার করে এবং ড্রাইভটি মাউন্ট করা থাকলে (যদি এটি বাহ্যিক ...) ব্যবহার করে তবেও কাজ করে
ওল্ফগাং ফাহল

4

এটি সম্ভবত যে কোনও কোনও ফোল্ডারের সাথে একটি সিম্বলিক লিঙ্ক রয়েছে, সম্ভবত studentআপনার পথে এটি দ্বিতীয় ।

কমান্ডটি কার্যকর করার চেষ্টা করুন:

dir D:\Student\2012\user.name\servername

এবং দেখুন studentডিআইআর হিসাবে চিহ্নিত হয়েছে কিনা বা SYMLINK / JUNCTION।

উদাহরণস্বরূপ, এটি dirকমান্ডের একটি সাধারণ আউটপুট :

04/24/2012  10:58 PM    <DIR>          .
04/24/2012  10:58 PM    <DIR>          ..
04/24/2012  10:58 PM    <SYMLINKD>     a [h:\a]

আপনি দেখতে পাচ্ছেন যে প্রথম দুটি এন্ট্রি হিসাবে চিহ্নিত হয়েছে DIR, তৃতীয়টি (অন্য ফোল্ডারের প্রতীকী লিঙ্ক) হিসাবে চিহ্নিত হয়েছে SYMLINKD। আপনার ক্ষেত্রে (উইন্ডোজ 2003) আমি মনে করি যে JUNCTIONএর পরিবর্তে SYMLINKএস রয়েছে।

যদি studentফোল্ডারটি প্রতীকী লিঙ্ক বা জংশন হয় তবে কমান্ডগুলি চালনা করুন:

cd /d D:\Student\2012\user.name\servername
rmdir student

এবং এইভাবে পুনরাবৃত্তি থেকে মুক্তি পান।


ডিরেক্টরিগুলির কোনওটিই সিমলিংক নয়, আমি প্রথম দম্পতিটি প্লাসটি "শেষ" এ গিয়ে পরীক্ষা করেছিলাম যেখানে এটি আটকে যায়।
ইংলিশইনফিক্স

2

এই ফোল্ডারে যে কেউ কাজ করছেন এমন কোনও জংশন পয়েন্ট তৈরি করতে পরিচালিত হতে পারে যা পিছনে ফিরে user.nameআসে servername, এভাবে একটি 'অসীম লুপ' ডিরেক্টরি ট্রি তৈরি করে।

জংশনগুলি এনটিএফএস ফাইল সিস্টেমের একটি বৈশিষ্ট্য যা আপনাকে একটি ডিরেক্টরিতে একটি প্রতীকী লিঙ্ক তৈরি করতে দেয় যা ডিরেক্টরিতে একটি উলাম হিসাবে কাজ করে। http://en.wikipedia.org/wiki/NTFS_junction_point

আপনি যে সমস্যাটি বর্ণনা করেছেন তা উইকি পৃষ্ঠার "পর্যবেক্ষণ প্রভাব" বিভাগের অধীনে দেখতে পাবেন।

এই সার্ভারের অধীনে জংশনগুলি তালিকা করতে এই ইউটিলিটিটি চালানোর চেষ্টা করুন:

http://technet.microsoft.com/en-us/sysinternals/bb896768

এটি আপনাকে জংশন পয়েন্ট মোছার ক্ষমতাও দেয়।


2

যখন গ্রহটি একটি গভীরভাবে গভীর ফোল্ডার ট্রি তৈরি করেছিল যা আমি মুছতে পারি না তখন আমার একইরকম সমস্যা হয়েছিল। তবে যেহেতু ফোল্ডারগুলি সরিয়ে নেওয়া এবং নতুন নামকরণ করা সম্ভব হয়েছিল কাজ করার জন্য আমি একটি ব্যাচ ফাইল লিখেছিলাম যা গাছের নিচে ফোল্ডারগুলি একবারে মুছে ফেলা হচ্ছে এবং এটি কাজ করেছিল! সি ডিরেক্টরিতে FOLDERNAME এর আপাতভাবে সুনির্দিষ্টভাবে গভীর ফোল্ডার গাছের জন্য ie

C:/*FOLDERNAME*/*FOLDERNAME*/*FOLDERNAME*/*FOLDERNAME*/*FOLDERNAME*/*FOLDERNAME*/...

ব্যাচ ফাইল :

:LoopStart
REN "C:/*FOLDERNAME*" "*TEMPFOLDERNAME*"
MOVE "C:/*TEMPFOLDERNAME*/*FOLDERNAME*" "C:/"
RMDIR /S /Q "C:/*TEMPFOLDERNAME*"
GOTO LoopStart
:LoopEnd

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


1

আমি একই সমস্যাটিতে 5000+ ডিরেক্টরি-গভীর ফোল্ডার জগাখিচুড়ি করেছি যা কিছু জাভা অ্যাপ্লিকেশন করেছে এবং আমি এটি লিখেছি:

https://gitlab.imanolbarba.net/imanol/DiREKT

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


1

এই স্ক্রিপ্টটি দিয়ে আমার অন্তহীন লুপিং ডিরেক্টরিগুলি সমাধান করুন:

:LoopStart
takeown /F "c:\temp\Application Data"
Attrib -S -H "c:\temp\Application Data"
REN "C:\temp\Application Data" "5"
takeown /F "c:\temp\5\Application Data"
Attrib -S -H "c:\temp\5\Application Data"
MOVE "c:\temp\5\Application Data" "C:\temp"
Del /F /S /Q c:\temp\5\*.*
RMDIR /S /Q "C:\temp\5"
GOTO LoopStart
:LoopEnd

0

আমারও একই সমস্যা ছিল। আমি যে ফোল্ডারটি মুছতে চেয়েছিলাম তাতে একই নামের লিঙ্কগুলির একটি অন্তহীন গাছ রয়েছে এবং এটি মুছানোর প্রতিটি প্রচেষ্টা উইন্ডোজকে "ফাইলটি খুব দীর্ঘ ..." ত্রুটির কারণে ফেলেছে। উপরোক্ত সমস্ত পদ্ধতি সহ আমি যে কমান্ডটি চেষ্টা করেছি তা নির্বিশেষে এটি ব্যর্থ হয়েছে তাই আমি প্রশ্নযুক্ত ফোল্ডারের ঠিক উপরে সিএমডি উইন্ডোতে সাইগউইনের "আরএম" কমান্ডটি চেষ্টা করেছি। আমি "rm -r -f [ফোল্ডার]" প্রবেশ করলাম এবং অভিযোগ ছাড়াই ফোল্ডারটি মোছা হয়েছে।

আপনি https://cygwin.com/install.html থেকে বিনামূল্যে সাইগউইন ডাউনলোড করতে পারেন । এটির মূলত উইন্ডোজের জন্য একটি ইউনিক্স শেল যা সমস্ত সাধারণ কমান্ড (যেমন, এলএস, আরএম, ডু এবং বিড়াল) ধারণ করে তবে এতে প্রচুর প্যাকেজ রয়েছে যা যদি ডাউনলোড করা হয় তবে প্রায় 1 জিবি স্থান গ্রহণ করতে পারে। আমি বিশ্বাস করি ডিফল্ট ডাউনলোড প্যাকেজটিতে ইউএনআইএক্স কমান্ড অন্তর্ভুক্ত রয়েছে। যদি তা না হয় তবে মেমোরিটি দিলে তারা "ইউজগুলি" বান্ডলে থাকে le

দ্রষ্টব্য: আপনার সাইগউইন এর নেটিভ ব্যাশ শেল উইন্ডোতে কমান্ড চালানোর দরকার নেই। আপনার সিস্টেমে PATH পরিবেশগত পরিবর্তনশীলটিতে সাইগউইনের "বিন" ডিরেক্টরিতে পাথ যুক্ত করে সেগুলি একটি সেমিডি উইন্ডোতে চালানো যেতে পারে। আমার ক্ষেত্রে আমি "সি: g সাইগউইন 64৪ \ বিন" যুক্ত করেছি।

আশা করি এটা কাজে লাগবে.


0

আমারও এখানে একই সমস্যা আছে।

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

এই মুহুর্তে আমি স্পিডআপে "> নুল" দিয়ে এটি চালাচ্ছি (এটি সত্যিই ঘটে):

"সি: \ টিইএমপি" একটি খালি ফোল্ডার এবং "W: W TMP" আক্রান্ত ফোল্ডার:

রোবোকপি / মির সি: \ টেম্পের \ 127.0.0.1 \ w $ \ tmp> নুল


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

0

আমারও এটি ছিল, স্ট্যান্ডেলোন উইন্ডোজ 10 সিস্টেমে। সি: \ ব্যবহারকারীর নাম \ পুনরাবৃত্তি eat পুনরাবৃত্তি \ পুনরাবৃত্তি \ পুনরাবৃত্তি \ পুনরাবৃত্তি \ অনন্ত থেকে আপাতদৃষ্টিতে পুনরাবৃত্তি করুন।

ওপি অনুসারে, আমি উইন্ডোজ বা কমান্ড প্রম্পট ব্যবহার করে প্রায় 50 তম স্থানে নেভিগেট করতে পারি এবং এর পরে আর কিছু করতে পারি না। আমি এটিকে মুছতে বা এটিতে ক্লিক করতে পারি না, ইত্যাদি ঠিক বর্ণিত হিসাবে।

সি আমার ভাষা তাই শেষ পর্যন্ত আমি সিস্টেম কলগুলির একটি লুপ সহ একটি প্রোগ্রাম লিখেছিলাম, যা তারা ব্যর্থ হওয়া অবধি পুনরাবৃত্তি করে। জনোর ডস কোড অনুসারে, আমি টিএমপি নামে একটি ডিরেক্টরি তৈরি করেছি এবং পুনরাবৃত্তি করুন moved এতে পুনরাবৃত্তি করুন, খালি খালি পুনরাবৃত্তি ফোল্ডারটি মুছে ফেলা হয়েছে এবং tmp current পুনরায় পুনরায় পুনরায় পুনরুক্তি বর্তমান ফোল্ডারে রেখেছি। বারবার!

 while (times<2000)
 {
  ChkSystem("move Repeat\\Repeat tmp");
  ChkSystem("rd Repeat");
  ChkSystem("move tmp\\Repeat Repeat");
  ++times;
  printf("Removed %d nested so far.\n", times);
 }

চেকসিস্টেম কেবল একটি সিস্টেম () কল চালায় এবং রিটার্ন মানটি পরীক্ষা করে ব্যর্থ হলে বন্ধ করে দেয়।

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


0

3-স্তরের লুপিং ডিরেক্টরি সহ:

:LoopStart
takeown /F "D:\temp\MyApp"
Attrib -S -H "D:\temp\MyApp"
REN "D:\temp\MyApp" "5"
takeown /F "D:\temp\5\MqttObserver"
Attrib -S -H "D:\temp\5\MqttObserver"
REN "D:\temp\5\MqttObserver" "6"
takeown /F "D:\temp\5\6\PackageFiles"
Attrib -S -H "D:\temp\5\6\PackageFiles"
REN "D:\temp\5\6\PackageFiles" "7"
MOVE "c:\temp\5" "C:\temp"
Del /F /S /Q c:\temp\5\*.*
RMDIR /S /Q "C:\temp\5"
MOVE "c:\temp\6" "C:\temp"
Del /F /S /Q c:\temp\6\*.*
RMDIR /S /Q "C:\temp\6"
MOVE "c:\temp\7" "C:\temp"
Del /F /S /Q c:\temp\7\*.*
RMDIR /S /Q "C:\temp\7"
GOTO LoopStart
:LoopEnd

কোডের সাথে যাওয়ার ব্যাখ্যা? <:: ;; :: ;; :: ;; ;;;;: :( | XXXX |) ও ~
পিম্প জুস IT

0

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

আমার উইন্ডোজ 7 প্রো ফাইল সিস্টেমে পুরানো chkdsk বিকল্পটি ব্যবহার করে আমি তৈরি করেছি এমন অন্য সমস্যাগুলি কিনা নিশ্চিত না ..


0

আমার জন্য উইন্ডোজ রবকপি পদ্ধতিটির এই প্রকরণটি কাজ করেছে:

mkdir c:\empty
robocopy c:\empty toolongdir /purge
rmdir c:\empty
rmdir toolongdir

হ্যাঁ, সময় লাগে কিন্তু কাজটি করে।


-1

কেবলমাত্র এমএস রবকোপি নিম্নলিখিত হিসাবে চালান:

  1. ফোল্ডারের মতো একই নামের সাথে একটি "খালি ফোল্ডার" তৈরি করুন যা "অসীম পুনরাবৃত্তি ডিরেক্টরি ডিরেক্টরি ট্রি" ধারণ করে।
  2. / এমআইআর বিকল্পের সাহায্যে কমান্ড লাইন থেকে রবকোপিটি চালান।
  3. রোবকপি শেষ হওয়ার পরে (এবং এটি কয়েক সেকেন্ড সময় নিতে পারে),
  4. "অসীম পুনরাবৃত্ত ডিরেক্টরি ট্রি" দিয়ে ফোল্ডারটি মুছুন যা এখন একটি "খালি ফোল্ডার"।
  5. এছাড়াও এগিয়ে যান এবং পদক্ষেপ 1 এ আপনি তৈরি "খালি ফোল্ডার" মুছুন।

। । । । । । । । । । । । । । ।

রবোকপি "সি: \ যে কোনও জায়গায় AD ব্যাডফোল্ডার" "সি: \ যেখানেই \ ব্যাডফোল্ডার" / এমআইআর

কোথায়:

সি: \ যে কোনও জায়গা AD ব্যাডফোল্ডার .. এটি আপনার তৈরি করা "খালি ফোল্ডার" এবং

সি: \ যেখানেই \ ব্যাডফোল্ডার .. এমন ফোল্ডার যেখানে "অসীম পুনরাবৃত্ত ডিরেক্টরি ট্রি" tree

। । । । । । । । । । । । । । ।

রোবকপি চালানোর পরে .. আপনার কাছে এখন দুটি "খালি" ব্যাডফোল্ডার রয়েছে।

পরিষ্কার করতে, উভয় মুছুন

সি: \ যে কোনও জায়গায় AD ব্যাডফোল্ডার এবং সি: \ যেখানেই \ ব্যাডফোল্ডার

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