আমার উইন্ডোজ মেশিনে, আমার চারটি বিন্দুর নামে একটি ফোল্ডার ছিল যা কোনও ধরণের খরগোশের গর্তের মতো কাজ করেছিল - কীভাবে তা ঘটল?


198

ফোল্ডারটির নামটি কেবলমাত্র সরল চারটি ডট সহ ফাইল এক্সপ্লোরারে তালিকাভুক্ত করা হয়েছিল ....

আমি যখন এটি খোলার চেষ্টা করেছি, আমি এক ধরণের অন্তহীন খরগোশের গর্তের লুপে এসেছি যেখানে আমি একই একই ফোল্ডারটি বারবার খুলেছি - আমি এটি অবিরামভাবে করতে পারতাম। C:\ExamplePath\....\....\....\....\....ইত্যাদি পথ প্রদর্শন করা হচ্ছে

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

বিশেষ নামের কারণে আমি ফোল্ডারটি স্বাভাবিকভাবে মুছতে পারিনি। শেষ পর্যন্ত, আমি কমান্ড লাইনটি ব্যবহার করে এবং এর সাথে প্যারেন্ট ফোল্ডারটি মোছার মাধ্যমে এটি সরিয়ে ফেলতে পারি rd /s /q path

এরপরে, আমি আবার ফোল্ডারটি তৈরি করার চেষ্টা করেছি কিন্তু ফাইল এক্সপ্লোরার এবং কমান্ড লাইন উভয়ই এটি করতে অক্ষম।

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

কেউ কি জানেন যে এটি কীভাবে ঘটতে পারে এবং কীভাবে এই সমস্যাটি পুনরুত্পাদন করতে পারে?

হালনাগাদ

আগ্রহী ব্যক্তিদের জন্য: এই পাথটি টিএফএস ফোল্ডারের গভীরে অবস্থিত। সুতরাং সম্ভবত টিএফএস @ গ্রাভিটির ব্যাখ্যা করা বাইপাস পদ্ধতিটি ব্যবহার করে ( "বিভিন্ন ফাইল ম্যানেজার, সংরক্ষণাগার, ইত্যাদি" )

আমি কি বিরল টিএফএস বাগে হোঁচট খেয়েছি?


5
কী ঘটছে, কীভাবে ইচ্ছাকৃতভাবে এটি পুনরুত্পাদন করা যায় এবং কীভাবে এটি সংশোধন করা যায় তার নীচের উত্তরগুলিতে এটি কেন ঘটেছে তা তারা উল্লেখ করেন না। যেহেতু ..'এক ফোল্ডারটিতে যান' নির্দেশ করতে কোনও পথ ব্যবহার করা যেতে পারে, তাই আমি একটি ধারণা ঝুঁকিপূর্ণ করব যে লাইনটি বরাবর কোথাও কোনও প্রোগ্রাম বা স্ক্রিপ্ট দুটি পথ তৈরি করার জন্য দুটি স্ট্রিংকে একত্রিত করেছে, একটি দিয়ে শেষ হয়েছিল ..এবং তারপরে শুরু হয়েছিল ..এবং যেহেতু এটি নীচে উল্লিখিত একটি কৌশল ব্যবহার করেছে, এটি পথ তৈরি করতে সফল হয়েছিল, যদিও এটি তাদের মধ্যে ফোল্ডার বিভাজকটি হারিয়েছিল।
3D1T0R

6
আপনি যদি তার নামে কেবল ফাঁকা স্থান দিয়ে একটি ফোল্ডার তৈরি করেন তবে অদ্ভুত জিনিসগুলিও ঘটবে
phuclv

7
এই সার্ভারটি কি ইন্টারনেটে? শুধু আপনাকে সতর্ক আমি নিয়মিতভাবে অনুরোধ ওয়েব সার্ভার মুখোমুখি ইন্টারনেটে হ্যাক প্রচেষ্টা দেখুন: GET /....\\....\\....\\....\\....\\....\\....\\....\\....\\winnt\\win.ini। স্পষ্টতই কোথাও কোথাও কিছু দুর্বলতা রয়েছে যা এটি কাজে লাগানোর চেষ্টা করে।
অ্যান্ডি ব্রাউন 16

4
@ অ্যান্ডি ব্রাউন অনেক বেশি সম্ভবত এটি সম্ভব .., না ....\winntপ্রারম্ভিক পয়েন্টটি (ওয়েব রুট) গভীরতা নির্বিশেষে এটি কেবল সরানোর এক উপায় , যতক্ষণ না প্রারম্ভিক পয়েন্টটি 9 স্তরের কম গভীর হয়। এটি নির্ভর করে যে ..মূল ডিরেক্টরি থেকে যাওয়া আপনাকে মূল ডিরেক্টরিতে ফেলে দেয়।
hobbs

5
@ হোবস এটি লিনাক্সের অ্যাপাচি অ্যাক্সেস লগ থেকে একটি অনুলিপি এবং পেস্ট করুন। অবশ্যই সেখানে 4 টি বিন্দু। লগ আছে এমন অন্যান্য হ্যাক প্রচেষ্টা আছে যা আমি এইটিকে বরং অদ্ভুত বলে মনে করি use ..
অ্যান্ডি ব্রাউন

উত্তর:


303

উইন 32 আপনাকে শেষ হওয়া নামগুলির সাথে ফাইল বা ফোল্ডার তৈরি করতে দেয় না .- সমস্ত বিন্দু শেষ থেকে ছিনিয়ে নেওয়া হয়। তৈরি করার চেষ্টা test.করে তোলে testপরিবর্তে প্রদর্শিত হবে। (এটি পুরানো ডস / উইন 9 এক্স এর সফ্টওয়্যারটিতে 8.3 নামের সাথে সামঞ্জস্যের জন্য))

ফলস্বরূপ, আপনি যখনই নামের কোনও ফোল্ডারটি অ্যাক্সেস করার চেষ্টা করবেন তখনই ....এর নামটি খালি স্ট্রিংয়ে নামিয়ে আনা হবে এবং আপনি আগের ফোল্ডারে ফিরে এসেছেন।

এনটি কার্নেল, তবে এই জাতীয় নামের অনুমতি দেয়। উইন 32 এপিআই দ্বারা আরোপিত ফাইলের নাম সীমাবদ্ধতাগুলি বাইপাস করে এমন বিভিন্ন প্রক্রিয়া রয়েছে - উদাহরণস্বরূপ, ডাব্লুএসএল (লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম) উইন 32 এর উপরে চলে না এবং এটি দ্বারা প্রভাবিত হয় না। এছাড়াও \\?\বাইপাস পদ্ধতি রয়েছে, এমন প্রোগ্রামগুলির জন্য একটি ইচ্ছাকৃত "ব্যাকডোর" রেখে গেছে যা তারা জানে যে তারা কী করছে। আপনি তৈরি করতে না পারলেও C:\Example\....\, আপনি ঠিক সূক্ষ্ম তৈরি করতে পারেন\\?\C:\Example\....\

তেমনি আপনি rmdir \\?\C:\path\...সিএমডি থেকে এই জাতীয় ডিরেক্টরি মুছতে পারেন (আমি পাওয়ারশেলের সাথে এখনও পরীক্ষা করিনি)।

বিভিন্ন ফাইল ম্যানেজার, সংরক্ষণাগার, ইত্যাদি \\?\স্বাভাবিকের চেয়ে দীর্ঘতর পথের নাম ব্যবহার করতে সক্ষম হওয়ার জন্য পদ্ধতিটি ব্যবহার করতে পারে - এবং এটি করে, তারা উইন 32 এর মধ্যে সামঞ্জস্যতা কোড দ্বারাও অকার্যকর হয়; তারা ডট স্ট্রিপিংকে বাইপাস করার পাশাপাশি যাদু ফাইলের নামের অনুবাদ CONবা এর মতো করে NUL

সুতরাং এটি আপনার প্রোগ্রামগুলির মধ্যে একটি হতে পারে:

  1. \\?\ফাইল অ্যাক্সেস করতে সর্বদা ব্যবহার করে,
  2. দুর্ঘটনাক্রমে নামের একটি ফোল্ডার তৈরি করার চেষ্টা করা হয়েছিল ....- তবে সত্যের পরে নিশ্চিতভাবে এটি জানা সম্ভব নয়।

13
এই জাতীয় ফোল্ডার তৈরি করার অন্য উপায় হ'ল বিকল্প ডেটা স্ট্রিম ব্যবহার করে। Cmd কমান্ড অন: echo "" > ....::$INDEX_ALLOCATION। এটি নামের একটি ফোল্ডার তৈরি করবে ....(এখনও বর্তমান ফোল্ডারের দিকে নির্দেশ করছে)।
ওয়ার্ল্ডসেন্ডার

2
@ ডির্কবোর আমি এটি পেয়েছি: ডকস.মাইক্রোসফট.ফেন
ডটনেট

124
মাইক্রোসফ্ট এটিকে "বর্ধিত পথ উপসর্গ" বলে এবং সেই উপসর্গ সহ পাথগুলিকে "বর্ধিত দৈর্ঘ্যের পাথ" বলা হয়। (মজার: যখন আপনি \\?\".NET রেফারেন্স উত্সে অনুসন্ধান করেন , এটি তাদের সার্ভারে একটি রানটাইম ত্রুটির সৃষ্টি করে)।
dlatikay

2
@ গ্রাভিটি তাই। । । আমি এখন এই ফোল্ডারটি মুছে ফেলা সম্পর্কে কীভাবে যেতে পারি?
শ্যাডো 503

21
আমার কাছে একটি কৌতূহলপূর্ণ 'কম্পিউটার মেরামত' ক্লায়েন্টের কেস ছিল যেখানে ক্লায়েন্ট যে কোনও সময় উইন্ডোজ মেশিনে অ্যাকাউন্ট তৈরি করে, এটি ঠিক কাজ করবে তবে একবার সে লগ ইন / রিবুট করলে এটি তার অ্যাকাউন্টে প্রবেশ করতে দেবে না, পরিবর্তে একটি অস্থায়ী অ্যাকাউন্ট তৈরি করবে সেশন. স্থানীয় পিসি-মেরামত দোকানটি স্টাম্পড হয়েছিল (তাকে এখনও চার্জ করা হয়েছে)। তার আসল নাম কন এবং তার উইন্ডোজ অ্যাকাউন্টের জন্য তিনি সর্বদা নিজের নামটি ব্যবহার করেছেন ..... আমি জানতে পেরেছিলাম সেখানে কেবল com1একটি ম্যাজিক ফাইলের নাম ছাড়াও ছিল
RozzA

23

@ গ্রাভিটির উত্তর ছাড়াও, একটি উইন 32 প্রোগ্রাম সরাসরি "নেটিভ" এপিআই কল করে এটি করতে পারে। যদি আমি ভুল না হয়ে থাকি তবে বর্তমান ক্ষেত্রে এটি NtCreateDirectoryObject হবে। এই কলগুলি আজকাল মোটামুটি ডকুমেন্টেড, বিশেষত তাদের কর্নেল অংশ (যা আপনি উইন 32 প্রোগ্রাম থেকে কল করতে পারেন না), এই ক্ষেত্রে ZwCreateDirectoryObject।

"অন্তহীন গভীরতা" সম্পর্কিত, এটি অর্জনের একটি সহজ উপায় হ'ল লিঙ্কগুলি ব্যবহার করা। একটি ডিরেক্টরি তৈরি করুন, তারপরে এর ভিতরে এটির সাথে একটি জংশন তৈরি করুন (আপনি mklink /jউদাহরণস্বরূপ ব্যবহার করতে পারেন ) এবং আপনি একটি খুব গভীর কাঠামো দিয়ে শেষ করবেন। গতবার আমি উইন্ডোজ 2000 এ এটি করার পরে, পুনরাবৃত্তিটি শেষ হয়েছিল যদিও (আপনি "অসীম খনন করতে পারবেন না")। সম্ভবত নতুন ওএসে সীমাটি বৃহত্তর বা মুছে ফেলা হয়েছে, আপনি এটি তৈরি করতে পারেন যে 10 টি ডিরেক্টরিকে পূর্ববর্তী একের শিশু হিসাবে চিহ্নিত করা যায় এবং 10 তমগুলিতে প্রথমটিতে একটি লিঙ্ক তৈরি করুন।


4
এটি সম্ভবত খুব সম্ভবত মন্দ প্রতিভা উপাদান ...
আগি হামার্থিফ

1
আমি এটির মতো সম্পূর্ণ ডিরেক্টরিগুলি অনুলিপি করে কৃত্রিমভাবে পরীক্ষার জন্য ডিস্কটি পূরণ করতে সক্ষম হয়েছি যখন এটি কোনও সীমাবদ্ধতার কাছাকাছি ছিল।
মিকিফ 16

সাইগউইনেরmkdir ....
লুসিডব্রট

18

ডিরেক্টরি তৈরি করার একটি সহজ উপায় আছে। কমান্ড প্রম্পট থেকে:

MD ....\

এবং এন্টার টিপুন, এটি চারটি বিন্দু সহ একটি ডিরেক্টরি তৈরি করবে। এই ডিরেক্টরিটি এক্সপ্লোরারের সাথেও দেখা যায়।

এমএস-ডসের মধ্যে একটি ত্রুটি রয়েছে যা 1.0 সংস্করণে ফিরে যায়। এমএস কিছু সময়ের জন্য এটি সম্পর্কে জানতে পেরেছিল তবে এটি ঠিক করতে বা করতে পারে নি। তারা পাওয়ারশেলের সাহায্যে সমস্যাটি সংশোধন করেছে।

বিটিডব্লিউ, যদি আপনি চেষ্টা করেন:

RD ....

এটি মুছতে ব্যর্থ হবে। এটি সরাতে আপনাকে এই নির্দিষ্ট বাক্য গঠন ব্যবহার করতে হবে।

RD ....\

আমি এডমিন করে এমন নির্দিষ্ট সার্ভারগুলিতে এটি ব্যবহার করি। আমি প্রায়শই ডিস্কের মূলে একটি ব্যবহারকারী ফোল্ডার তৈরি করি এবং আমি চাই না যে অন্য কোনও প্রশাসক এসে সেটিকে সরিয়ে ফেলুক।

সুতরাং আমি আমার ফোল্ডারের ভিতরে যাব এবং CON, AUX, বা LPT, ইত্যাদি নামে একটি সাবফোল্ডার তৈরি করব ...

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

সম্পাদনা: আমি আজ সকালে এই আলোচনা সম্পর্কে ভাবছিলাম এবং আমি এই আরও একধাপ এগিয়ে নিয়ে যাওয়ার সিদ্ধান্ত নিয়েছি। আমি ধরে নিলাম মোডগুলি এটি প্রাসঙ্গিক কিনা তা সিদ্ধান্ত নেবে।

আমি ফোল্ডারে সিডি করতে অক্ষম।

বিবেচনা করুন, আমি যদি এমডি সি: \ পরীক্ষা করি তবে সিডি সি: \ পরীক্ষা এবং এমডি .... \ আমি সি: \ পরীক্ষা দিয়ে শেষ ...

এবং সব ঠিক আছে।

তবে সিডি .... ব্যর্থ হয় এবং আমাকে সি: \ পরীক্ষায় ফিরিয়ে দেয়। (সিডি .... same একই কাজ করে)

তবে আমি ডিআইআর .... এবং একটি dir তালিকা পেতে পারেন। আমিও পারি

এমডি সি: \ পরীক্ষা .... \ অস্থায়ী এবং এটি সেই উপ-দিরকে তৈরি করে ....

আমি সিডি সিও করতে পারি: \ পরীক্ষা .... \ টেম্প এবং সেই সাব-সাব ডিরেক্টরিতে যেতে পারি।

তবে সি: \ পরীক্ষা .... \ টেম্পে থাকাকালীন, আমি যদি সিডি করি .. আমি সি: \ পরীক্ষায় ফিরে এসেছি।

আমি সেই ডিরেক্টরিতে সিডি করতে পারি না, তবে আমি সাবফোল্ডার তৈরি করে ফোল্ডারটি এবং এ জাতীয় আকর্ষণীয় কিছু আকর্ষণীয় করতে পারি

ECHO "টেস্টিং" >> সি: \ পরীক্ষা .... \ test.txt

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


6
এটি বরং উইন 32 এপিআইয়ের ত্রুটির মত শোনাচ্ছে, এই নির্দেশ দিয়েছি যে কমান্ড প্রম্পটটি এখন প্রায় বিশ বছর ধরে "এমএস-ডস" হয় নি।
মাধ্যাকর্ষণ

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

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

আমার উইন্ডোজ 7 মেশিনে MD ....` only creates .... \ .... `ট্রি - পুনরাবৃত্তির এক ধাপ রয়েছে।
টমে জাটো

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

-1

আমারও একই সমস্যা ছিল। আমার ক্ষেত্রে এটি নেট টাইপ প্রকাশনার জন্য টাইপো ইন কমান্ড ছিল:

dotnet publish "Api.csproj" --output "....\output\"

এটি '....' নামের সাথে ডিরেক্টরিটি তৈরি করেছে, যা আমি সরিয়ে বা নাম পরিবর্তন করতে পারি না। এই ডিরেক্টরিটি প্যারেন্ট ডিরেক্টরিতে রেফারেন্সের মতো কাজ করেছে। আমি যদি সেই ফোল্ডারের অভ্যন্তরে যাই, আমি এখনও প্যারেন্ট ফোল্ডারে ছিলাম তবে পাথটি '.... \' দ্বারা সংযুক্ত হয়েছিল।

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

আমি জানতে পেরেছি যে এই আদেশ:

rmdir /s /q ....\

'....' ডিরেক্টরি মুছে ফেলতে পারে। এটি কেবল পিতামাতৃ ডিরেক্টরিতে রেফারেন্স মুছে দেয়, যা এই '....' ডিরেক্টরিটি আসলে কিছুই নয়, কিছুই কম নয়। কমান্ড যুক্তি সত্ত্বেও:

  • / s - সরানো ডিরেক্টরিতে থাকা সমস্ত সামগ্রী সরিয়ে দেয়,
  • / q - নিশ্চিতকরণ ছাড়াই অপসারণ,

অভিভাবক ডিরেক্টরিটি অচেনা থেকে যায়।


দ্বিতীয় কমান্ডটি আপনার পক্ষে কেন কাজ করেছে তা আপনি পরিষ্কার করতে পারেন?
বুর্গী

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

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

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