একটি পূর্ণ FILE পাথ অক্ষর সংখ্যা গণনা?


0

উইন্ডোতে একটি ফাইলের পুরো পাথের অক্ষর সংখ্যা গণনা করার জন্য আমাকে সক্ষম হতে হবে। আমি বর্তমানে এই কাজটি সম্পন্ন করছি কিভাবে নিম্নরূপ:

  1. একটি কমান্ড প্রম্পট খুলুন
  2. প্রশ্ন ডিরেক্টরির মধ্যে cd (উদাহরণস্বরূপ c: \ cruiseControl \ ProjectArtifacts \ ProjectName)
  3. নিম্নলিখিত কমান্ড টাইপ করুন ডির / এস / বি & gt; output.csv
  4. এক্সেল ফলাফল output.csv ফাইল খুলুন।
  5. ব্যবহার = LEN এর () আউটপুট.csv ফাইল তালিকাভুক্ত হিসাবে প্রতি সারি অক্ষর সংখ্যা গণনা এক্সেল মধ্যে ফাংশন।

যে কেউ এক্সপ্লোরার শেল এক্সটেনশান, অথবা কিছু তৃতীয় পক্ষের সরঞ্জাম সম্পর্কে জানেন যা এই ফাংশনটির পূর্বরূপটি ছাড়াই এক্সেলের আউটপুটটি ম্যানুয়াল করে তুলতে পারে না? এই কাজ করার জন্য কিছু সহজ উপায় আছে কি? আমার যে সমস্যাটি হচ্ছে তা হল উইন্ডোজের ~ 260 ক্যারেক্টার ফাইলের সীমা। আমি বিশ্লেষণ করার চেষ্টা করছি যে কোন পথ প্রায় 260 অক্ষর তাই আমি এই ত্রুটিটি এড়ানোর জন্য তাদের ছোট করতে পারি।

উত্তর:


1

এই ধরনের জিনিস সঙ্গে খুব সহজ হ্যামিলটন সি শেল । যদি এটি একটি এক সময় জিনিস, আপনি সঙ্গে খুশি হবে বিনামূল্যে সংস্করণ । এখানে একটি উদাহরণ রয়েছে বিভিন্ন ফাইলের পূর্ণপথ তৈরি করা c:\Windows ডিরেক্টরি, তারপর স্ট্রিং দৈর্ঘ্য কম্পিউটিং। সম্পূর্ণ প্রকাশ: আমি লেখক।

128 C% cd
c:\Windows
129 C% ls mi*
Microsoft.NET      Minidump           mib.bin
130 C% foreach i ( mi* )
131 C? @ f = fullpath ( i )
132 C? echo $i $f $strlen(f)
133 C? end
mib.bin c:\Windows\mib.bin 18
Microsoft.NET c:\Windows\Microsoft.NET 24
Minidump c:\Windows\Minidump 19
134 C%

নিকোল - খুব চিত্তাকর্ষক btw! এই ঠিক কি আমি প্রয়োজন। আমার পরবর্তী চেক আসে যখন আমি একটি পূর্ণ কপি কিনতে আমার ক্যালেন্ডারে একটি অনুস্মারক যোগ করা হবে।
Richie086

FYI আমি এগিয়ে গিয়েছিলাম এবং হ্যামিলটন সি শেল কেনা। আমি এই মহান পণ্য সম্পর্কে মানুষ জানাতে হবে নিশ্চিত!
Richie086

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

হিসাবে অফলাইন আলোচনা, একটি সম্পূর্ণ ডিরেক্টরি ভ্রমণের জন্য একটি খুব সহজ উপায় সঙ্গে হয় ... ওয়াইল্ডকার্ড, উদাঃ, foreach i (...\*) echo $i; end। দ্য ... নির্মাণের অর্থ "0 বা তার বেশি ডিরেক্টরি স্তর, যা প্যাটার্ন মিলের বাকি অংশ নিতে লাগে।"
Nicole Hamilton

1

হয়তো এই সহজ ব্যাচ ফাইল সহজে আসতে হবে।

1) বর্তমান ডিরেক্টরির মধ্যে অক্ষর সংখ্যা গণনা:

@echo off
echo %cd%>"%TMP%\Temp.txt"
for %%l in ("%TMP%\Temp.txt") do set /a len=%%~zl
del "%TMP%\Temp.txt"
set /a len-=2
echo Path length = %len% chars.

cd ডির যাও। এবং শুধু ব্যাচ ফাইল কল।

2) নির্দিষ্ট ডিরেক্টরির মধ্যে অক্ষরের সংখ্যা গণনা:

@echo off
echo %1>"%TMP%\Temp.txt"
for %%l in ("%TMP%\Temp.txt") do set /a len=%%~zl
del "%TMP%\Temp.txt"
set /a len-=4
echo Path length = %len% chars.

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


0

এটি আপনার প্রশ্নের উত্তর নয়, তবে এটি আপনার সমস্যার সমাধান করে। আদর্শ

dir /s /b | findstr -r ...............................................................................................................................................................................................................................................................

উপরে আমার চিত্রণ, আমি 255 সময় টাইপ আছে; এই কাজ করবে dir /s /b, যা আপনি ইতিমধ্যে জানেন, এবং শুধুমাত্র লাইন (ফাইল পাথনাম) দেখান যা কমপক্ষে 255 অক্ষর দীর্ঘ। আপনার পছন্দমত সময়কাল সমন্বয়। স্বাভাবিকভাবেই, আপনি উপরে মুদ্রণের প্রিন্টিং বা অন্যান্য বিশ্লেষণের জন্য ফাইলের আউটপুট পুনঃনির্দেশ করতে পারেন।

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