WinXP dir কমান্ড: 3 এবং 4 চর এক্সটেনশান একই?


3

.aspনীচের কমান্ডটি ব্যবহার করে ফাইলগুলির সন্ধানের জন্য আমি পুনরাবৃত্তভাবে একটি ডিরেক্টরি ট্রি অনুসন্ধান করার চেষ্টা করছি :

dir *.asp /s

কোনও কারণে, এটি কেবল আস্প ফাইলগুলিই নয়, এসপেক্স ফাইলগুলিও ফেরত দেয়।

আমি কীভাবে এএসপিএক্স ফাইলগুলি উপেক্ষা করতে বাধ্য করব?

উত্তর:


5
dir /x

সামঞ্জস্যতার কারণে, উইন্ডোজ তৈরি প্রতিটি দীর্ঘ ফাইলের নামের জন্য একটি 8.3 নাম উত্পন্ন করে এবং ওয়াইল্ডকার্ড মেলানো কোড ( FindFirstFile()) মূল এবং সংক্ষিপ্ত দুটি নামই পরীক্ষা করে। dir /xপ্রতিটি ফাইলে কী সংক্ষিপ্ত নাম নির্ধারিত হয়েছে তা দেখতে ব্যবহার করুন।

8.3 নামের "এক্সটেনশান" অংশটি সর্বদা সর্বশেষ 3 টি অক্ষরে শেষ এক্সটেনশানটি কাটা করে তৈরি করা হয়: .aspxথেকে.ASP


এনটিএফএস ফাইল সিস্টেম ব্যবহার করা হলে, 8.3 নাম সৃষ্টি অক্ষম সিস্টেম-ব্যাপী হতে পারে ব্যবহার করছে:

fsutil behavior set disable8dot3

তবে এটি বিদ্যমান নামগুলিকে প্রভাবিত করবে না । আপনাকে প্রতিটি ফাইলের পুনরায় নামকরণ করতে হবে এবং তারপরে এটির নতুন নামটি পুনরায় নামকরণ করতে হবে।


আরও দেখুন: উইন্ডোজ কমান্ড প্রম্পটে ডিরেক্টরি অনুসন্ধান ভুল আউটপুট দেখায়!


ঠিক আছে, এটির একটি দুর্দান্ত ব্যাখ্যা কেন - তবে মনে হচ্ছে ডিয়ার কমান্ডকে এসপেক্স ফাইলগুলি উপেক্ষা করার জন্য বাধ্য করার কোনও উপায় নেই?
খ্রিস্ট

1
@ ক্রিস: না তবে আপনি আপনার সিস্টেম থেকে 8.3 টি নাম মুছে ফেলতে পারেন (সম্ভবত পরে আপনাকে অনেক ঝামেলা বাঁচাতে পারবেন), বা dirআউটপুটটি ফিল্টার করুন dir /b/s *.asp | findstr /ile .asp- এই লাইনগুলি শেষ হয় না .asp
মহাকর্ষ

এই উত্তর অনুসারে আপনি fsutil 8dot3name strip directoryবিদ্যমান নামগুলি মুছে ফেলতে ব্যবহার করতে পারেন, তাদের নতুন নামকরণের দরকার নেই
phuclv


0

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


0

আকর্ষণীয় - এটি একটি বাগ বলে মনে হচ্ছে ...

বিবেচনা করে, আমি এটির মতো সন্ধানের মাধ্যমে এটি পাইপ করব:

dir /s *.asp | find /i /v ".aspx "

মহাকর্ষের উত্তর অনুযায়ী এটি কোনও বাগ নয়। তবে কেন আপনি এসপেক্সের শেষে একটি স্থান রেখে যাবেন?
ফুক্লভ

1
@ ফুকলভ, চলমান স্থানটি অবশ্যই সরিয়ে ফেলতে হবে, কারণ এটি অনুসন্ধানের স্ট্রিংয়ের একটি অংশ বলে মনে হয়; যাইহোক, এই পদ্ধতির সাথে ফাইলগুলির .aspxনামগুলির মাঝখানে কোথাও থাকা ফাইলগুলিও বাদ দেওয়া হবে , যেমন file.aspx.name.aspআসলে অন্তর্ভুক্ত করা উচিত ...
aschipfl


0

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

এটিকে ঘিরে কাজ করার জন্য, বেশ কয়েকটি উপায় রয়েছে যার মধ্যে কয়েকটি আমি আপনাকে দেখাতে চাই:


আপনি findstrযে ফাইলগুলি দিয়েছিলেন তার নামগুলি ফিল্টার করতে ব্যবহার করতে পারেন dir:

dir /S /B /A:-D "*.asp" | findstr /IEC:".asp"

এটি এমনকি .aspকোথাও তাদের নামের (যেমন file.asp.aspx) ফাইলগুলির সাথেও মেলে না বা এটি .aspxতাদের নামে থাকা ফাইলগুলি (যেমন ) বাদ দেয় না file.aspx.asp

স্যুইচটি ফাইলের নাম / পাথের খাঁটি তালিকাটি ফিরিয়ে /Bদেয় dir, যা সঠিকভাবে ফিল্টার করা যায়। বিকল্পটি /A:-Dকোনও মেলানো ডিরেক্টরি বাদ দেয়।


বিকল্পভাবে, whereকমান্ডটি ব্যবহার করা যেতে পারে, যা ওয়াইল্ডকার্ডগুলির চেয়ে আলাদাভাবে পরিচালনা করে dir:

where /R "." "*.asp"

অসুবিধা হল যে এই কমান্ড এছাড়াও বিষয়বস্তুর শুভেচ্ছা হল PATHEXTপরিবর্তনশীল, তাই এই একটি ফাইল শেষ হয় মেলে দিবে .asp.exe, প্রদত্ত যে .EXEমধ্যে অন্তর্ভুক্ত করা হয় PATHEXT; এটি এড়াতে, আপনি সাময়িকভাবে PATHEXTপরিবর্তনশীল (দ্বারা set "PATHEXT_BACKUP=%PATHEXT%" & set "PATHEXT=") সাফ করতে পারেন এবং এটি পরে (পুনরায়) পুনরুদ্ধার করতে পারেন set "PATHEXT=%PATHEXT_BACKUP%" & set "PATHEXT_BACKUP="


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

আমাকে স্বীকার করতে হবে যে আমি এখনও এটি পরীক্ষা করিনি ...

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