উইন্ডোজ কমান্ড লাইন থেকে আমি কীভাবে কোনও ফোল্ডারের আকার পরীক্ষা করতে পারি?


36

আমি একটি ফোল্ডার এবং সাবফোল্ডারের সমস্ত ফাইলের আকার গণনা করতে উইন্ডোজ কমান্ড লাইনটি ব্যবহার করতে চাই। আমি সাধারণত ফোল্ডারে ডান ক্লিক করে এবং "বৈশিষ্ট্যগুলি" ক্লিক করে এটি করব তবে আমি কমান্ড লাইনে এটি করতে সক্ষম হতে চাই।

আমি কোন আদেশ ব্যবহার করতে পারি?

উত্তর:


33

আপনি dir /a/sএটি ব্যবহার করতে চাইবেন যাতে এটিতে সিস্টেম এবং লুকানো ফাইল সহ প্রতিটি ফাইল অন্তর্ভুক্ত থাকে। এটি আপনাকে কাঙ্ক্ষিত মোট আকার দেবে।


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

2
@ user1167442 আপনি পরিষ্কারভাবে এটি চেষ্টা করেন নি। আউটপুটটিতে ঠিক একই আকারের অন্তর্ভুক্ত যা এক্সপ্লোরার বৈশিষ্ট্যগুলি আপনাকে দেয়।
ডেভিডপস্টিল

1
@ ডেভিডপস্টিল - আপনি সঠিক। আমি লজ্জা পেয়েছি আমি ডাউনটোটকে উল্টে দেব। এটি বলেছিল, আমি এখনও এই সমাধানের জন্য খুব আগ্রহী নই - আমি কিছুটা দ্রুত অগ্রাধিকার চাই যার জন্য অন্য সমস্ত জিনিস আউটপুট দেওয়ার প্রয়োজন হয় না, তবে এটি কার্যকর হয়। আমি ভুল করেছি। - আহ বাদাম - এটা জিতেছে না; আমাকে আমার ডাউনটাতে উল্টাতে দাও। এটি করার খ্যাতিটি পাওয়ার সাথে সাথে আমি এটির বিপরীত করব।
ডিগো

1
এটি কাজ করেছে - ডাউনভোট সরানো -)
dgo

1
@ কিহারার হ্যাঁ, এগিয়ে যান এবং একটি প্রশ্ন পোস্ট করুন এবং আমি আপনার জন্য একটি উত্তর লিখব। এইভাবে, এটি সকলের সন্ধানে অনুসন্ধানযোগ্য হয়ে প্রত্যেককে সহায়তা করবে।
রক পেপারলিজার্ড

13

আপনি পাওয়ারশেল ব্যবহার করতে পারেন!

$totalsize = [long]0
Get-ChildItem -File -Recurse -Force -ErrorAction SilentlyContinue | % {$totalsize += $_.Length}
$totalsize

এটি পুরো বর্তমান ডিরেক্টরিতে পুনরাবৃত্তি করে (ডিরেক্টরিগুলি প্রবেশ করা যায় না তা উপেক্ষা করে) এবং প্রতিটি ফাইলের মাপের যোগফল দেয়। তারপরে এটি মোট আকারটি বাইটে মুদ্রণ করে।

কম্প্যাক্ট ওয়ান-লাইনার:

$totalsize=[long]0;gci -File -r -fo -ea Silent|%{$totalsize+=$_.Length};$totalsize

আমার মেশিনে dir /s /aএটি একটির থেকে কিছুটা দ্রুত বলে মনে হচ্ছে , কারণ এটি প্রতিটি বস্তুর তথ্য স্ক্রিনে মুদ্রণ করে না।

এটি একটি সাধারণ কমান্ড প্রম্পট থেকে চালানোর জন্য:

powershell -command "$totalsize=[long]0;gci -File -r -fo -ea Silent|%{$totalsize+=$_.Length};$totalsize"

আমি আশা করি আমি পাওয়ারশেলের সাথে আরও সময় কাটিয়েছি। আমি এটি কখনও কোনও কারণে এটি ব্যবহার করতে পছন্দ করি না - যদিও এটি প্রচুর
স্টাফের

দুর্দান্ত সমাধান - খুব দ্রুত!
ট্রোজান

7

ডস বা উইন্ডোজ কমান্ড লাইনে এই জাতীয় কোনও কমান্ড নেই। লিনাক্স-এ, du( ডি ইস্ক ইউ সেজে ) কমান্ড রয়েছে।

মাইক্রোসফ্টের সিস্টেটার্নাল লাইনের সরঞ্জামগুলির একটি সরঞ্জাম রয়েছে যা duলিনাক্সের সাথে প্রায় সমান । এটিও বলা হয় du;)


1
du -sh <directory>ডিরেক্টরি আকারের মানব পাঠযোগ্য সংক্ষিপ্তসারটি দেখানোর জন্য লিনাক্সে (বা উইন্ডোজ ডাব্লু / ডু গিটের মাধ্যমে) আমার যাওয়া কি?
কাভুন

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

2

ফোল্ডারের আকার নিম্নলিখিত ব্যাচ স্ক্রিপ্ট দিয়ে গণনা করা যেতে পারে:

@echo off
setlocal enabledelayedexpansion

set size=0
for /f "tokens=*" %%x in ('dir /s /a /b %1') do set /a size+=%%~zx
echo.!size!

endlocal

উইন্ডোজ 7 এ এটি কীভাবে চালানো যায়?
klm123


... আজকাল যা বেশ মারাত্মক সীমাবদ্ধতা!
rossmCM

2

আপনি এখনও diruse.exeউইন্ডোজ 2000 রিসোর্স কিট থেকে কমান্ড লাইন ইউটিলিটি ব্যবহার করতে পারেন :

https://support.microsoft.com/en-us/kb/927229

এটি উইন্ডোজ 8.1 এ কোনও সমস্যা ছাড়াই কাজ করে।


খুব ভাল, আপনি সম্ভবত ব্যবহারের একটি উদাহরণ যোগ করতে পারেন?
বুড়ী

1

dir /s সমস্ত সাবফোল্ডারগুলিতে সমস্ত ফাইলের আকার এবং ফাইলগুলি তালিকাভুক্ত করবে


1

আমি বুঝতে পারি এই প্রশ্নটি ব্যবহার করে ফাইল আকার বিশ্লেষণের জন্য জিজ্ঞাসা করা হয়েছে CMD line। তবে আপনি যদি ব্যবহারের জন্য উন্মুক্ত হন PowerQuery (Excel add-in, versions 2010+)তবে আপনি কিছু চমত্কারভাবে ফাইল আকারের বিশ্লেষণ তৈরি করতে পারেন।

নীচের স্ক্রিপ্টটি একটি খালি ক্যোয়ারিতে আটকানো যেতে পারে; আপনাকে কেবলমাত্র "প্যারামরুটফোল্ডার অনুসন্ধান" নামে একটি প্যারামিটার যুক্ত করতে হবে তারপরে আপনার মান যুক্ত করুন, যেমন "সি: \ ব্যবহারকারীদের \ bl0040 \ ড্রপবক্স \"। আমি এটি গাইড হিসাবে ব্যবহার করেছি: এমএসএসকিউএলটিপস: পাওয়ার ক্যোয়ারী ব্যবহার করে ফাইল সিস্টেম থেকে ফাইলের আকারগুলি পুনরুদ্ধার করুন

এই ক্যোয়ারীটি আমার জন্য পিভট টেবিল ( [Folder Root]> [Folder Parent (1-2)], [Name]) তৈরি করার জন্য ডেটা সরবরাহ করেছিল এবং আমি মুছে ফেলা এমন কয়েকটি ফাইল সনাক্ত করতে সক্ষম হয়েছি যা আমার ডিরেক্টরিতে প্রচুর স্থান সাফ করেছে।

পাওয়ারকুয়েরির জন্য এম স্ক্রিপ্ট এখানে রয়েছে :

let
// Parmameters:
    valueRootFolderSearch = paramRootFolderSearch,
    lenRootFolderSearch = Text.Length(paramRootFolderSearch),
//

    Source = Folder.Files(paramRootFolderSearch),
    #"Removed Other Columns" = Table.RenameColumns(
Table.SelectColumns(Source,{"Name", "Folder Path", "Attributes"})
,{{"Folder Path", "Folder Path Full"}}),
    #"Expanded Attributes" = Table.ExpandRecordColumn(#"Removed Other Columns", "Attributes", {"Content Type", "Kind", "Size"}, {"Content Type", "Kind", "Size"}),
    #"fx_Size(KB)" = Table.AddColumn(#"Expanded Attributes", "Size(KB)", each [Size]/1024),
    #"fx_Size(MB)" = Table.AddColumn(#"fx_Size(KB)", "Size(MB)", each [Size]/1048576),
    #"fx_Size(GB)" = Table.AddColumn(#"fx_Size(MB)", "Size(GB)", each [Size]/1073741824),
    fx_FolderRoot = Table.AddColumn(#"fx_Size(GB)", "Folder Root", each valueRootFolderSearch),
    helper_LenFolderPathFull = Table.AddColumn(fx_FolderRoot, "LenFolderPathFull", each Text.Length([Folder Path Full])),
    fx_FolderDepth = Table.AddColumn(helper_LenFolderPathFull, "Folder Depth", each Text.End([Folder Path Full], [LenFolderPathFull]-lenRootFolderSearch+1)),
    #"helperList_ListFoldersDepth-Top2" = Table.AddColumn(fx_FolderDepth, "tmp_ListFoldersDepth", each List.Skip(
  List.FirstN(
    List.RemoveNulls(
      Text.Split([Folder Depth],"\")
    )
  ,3)
,1)),
    #"ListFoldersDepth-Top2" = Table.TransformColumns(#"helperList_ListFoldersDepth-Top2", 
{"tmp_ListFoldersDepth", each "\" & Text.Combine(List.Transform(_, Text.From), "\") & "\"
, type text}),
    #"Select Needed Columns" = Table.SelectColumns(#"ListFoldersDepth-Top2",{"Name", "Folder Root", "Folder Depth", "tmp_ListFoldersDepth", "Content Type", "Kind", "Size", "Size(KB)", "Size(MB)", "Size(GB)"}),
    #"rename_FoldersParent(1-2)" = Table.RenameColumns(#"Select Needed Columns",{{"tmp_ListFoldersDepth", "Folders Parent (1-2)"}})
in
    #"rename_FoldersParent(1-2)"

ফোল্ডার ফাইল আকার_xlsx.png

এখানে চিত্র বর্ণনা লিখুন

ফোল্ডার ফাইল আকার_xlsx2.png

এখানে চিত্র বর্ণনা লিখুন


0

কেবল পাওয়ার শেলটি খুলুন এবং du -sh <directory>তৃতীয় পক্ষ বা সিএস-ইন্টার্নাল ইনস্টল করার দরকার নেই। পাওয়ার-শেলের মধ্যে আপনি কিছু সাধারণ লিনাক্স যেমন ls বা du কমান্ডের মতো কমান্ড ব্যবহার করতে পারেন, কিছু স্যুইচ ls -altউইলের ত্রুটির মতো কাজ করবে না কারণ পাওয়ারশেল জানে না--াল্ট কী ...


3
আপনি পাওয়ারশেলের কোন সংস্করণ ব্যবহার করছেন? এবং আপনি কি নিশ্চিত যে আপনার সিস্টেটার্ন ইনস্টল করা নেই? "Du" কমান্ডটি আমার অ্যাক্সেস থাকা কোনও সিস্টেমে অন্তর্নির্মিত বলে মনে হয় না। কিছু ডকুমেন্টেশন লিঙ্কও সহায়ক হবে।
আনলাগ

আমি উইন্ডোজ 10 এর সর্বশেষতম অন্তর্নিহিত চ্যানেলে রয়েছি এবং একেবারে কোনও duকমান্ড উপলব্ধ নেই
ফুক্লভ

-2

"Dir" কমান্ড বর্তমান ডিরেক্টরিটির ফাইলের আকার, শেষ পরিবর্তনের তারিখ এবং সময় সরবরাহ করে। প্রথমে আপনি যে ডিরেক্টরিটি cdকমান্ডটি ব্যবহারের আকারটি দেখতে চান তা যেতে চেষ্টা করুন , তারপরে dirকমান্ডটি ব্যবহার করুন ।

C:\>dir 

আপনি বর্তমানে যে ডিরেক্টরিতে রয়েছেন সেই ডিরেক্টরিতে বর্ণের ক্রমে ফাইলের আকার, সর্বশেষ পরিবর্তনের তারিখ এবং সময় তালিকাভুক্ত করে।


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