मैं विंडोज कमांड लाइन से फ़ोल्डर के आकार की जांच कैसे कर सकता हूं?


36

मैं एक फ़ोल्डर और सबफ़ोल्डर में सभी फ़ाइलों के आकार की गणना करने के लिए विंडोज कमांड लाइन का उपयोग करना चाहता हूं। मैं सामान्य रूप से फ़ोल्डर पर राइट-क्लिक करके और "गुण" पर क्लिक करके ऐसा करूंगा लेकिन मैं इसे कमांड लाइन पर करने में सक्षम होना चाहता हूं।

मैं किस कमांड का उपयोग कर सकता हूं?

जवाबों:


33

आप इसका उपयोग करना चाहेंगे dir /a/sताकि इसमें हर फाइल शामिल हो, जिसमें सिस्टम और छिपी हुई फाइलें शामिल हैं। यह आपको आपकी इच्छा के अनुसार कुल आकार देगा।


मुझे दिखाएँ कि आपकी कमांड का आउटपुट मुझे निर्देशिका का कुल आकार कैसे देता है। इसे शामिल करने के लिए अपना उत्तर संपादित करें। मैं अपनी टिप्पणियों को हटा दूंगा और अपना वोट रद्द कर दूंगा।
डेगो

2
@ user1167442 आपने स्पष्ट रूप से इसकी कोशिश नहीं की है। आउटपुट में ठीक वही आकार शामिल है जो एक्सप्लोरर गुण आपको देता है।
DavidPostill

1
@DavidPostill - आप सही हैं। मैं फांसी पर लटका हुआ शर्मिंदा हूं। मैं चढ़ाव को उलट दूंगा। उस ने कहा, मैं अभी भी इस समाधान के लिए उत्सुक नहीं हूं - मैं कुछ तेज़ी से पसंद करूंगा जिसमें अन्य सभी सामानों के आउटपुट की आवश्यकता नहीं है, लेकिन यह काम नहीं करता है। मैंने मिटा दिया है। - आह नट्स - यह जीत गया, मुझे अपने डाउनवोट को उलटने नहीं देना चाहिए। जैसे ही मुझे ऐसा करने के लिए प्रतिष्ठा मिलती है, मैं इसे उलट दूंगा।
डेगो

1
इसने काम किया - डाउनवोट हटा दिया गया -)
डग

1
@QHarr हाँ, आगे बढ़ो और एक प्रश्न पोस्ट करो और मैं तुम्हारे लिए एक उत्तर लिखूंगा। इस तरह, यह सभी को खोजने के लिए खोज योग्य होने से सभी की मदद करेगा।
रॉकपैपर छिपकली

13

आप PowerShell का उपयोग कर सकते हैं!

$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"

काश मैंने अधिक समय शक्तियां के साथ बिताया होता। मैं इसे किसी कारण से उपयोग करना पसंद नहीं करता - भले ही यह बहुत सारे सामान के लिए सुपर उपयोगी हो
dgo

महान समाधान - वास्तव में बहुत जल्दी!
ट्रोजननाम

7

डॉस या विंडोज कमांड लाइन में निर्मित ऐसी कोई कमांड नहीं है। लिनक्स पर, वहां du( D isk U) है sage) कमांड है।

Microsoft के Sysinternals लाइन टूल्स में एक उपकरण है जो duलिनक्स पर लगभग बराबर है । इसे भी कहा जाता है du;)


1
du -sh <directory>निर्देशिका आकार के एक मानव पठनीय सारांश दिखाने के लिए मेरी लिनक्स पर (या विंडोज़ डब्ल्यू / डू के माध्यम से) जाना है।
कावुन

धन्यवाद, ठीक यही मुझे चाहिए था। जैसे-जैसे डिस्क बड़ी होती जाती है, फाइल साइज पाने के लिए राइट-क्लिक-प्रॉपर्टीज में अधिक समय और लंबा समय लगता है और परिणाम का चयन नहीं किया जा सकता है और इसे कैल्क में कॉपी किया जा सकता है ताकि यह सुनिश्चित हो सके कि मल्टीपल एक्सटर्नल डिस्क पर हर फाइल को सोर्स फोल्डर में लिखा गया है। मैंने एक रॉबोकॉपी बैच के अंत में एक पाठ फ़ाइल पर रखा है, तब जब बैच समाप्त होता है, तो मुझे कुल फ़ाइल / फ़ोल्डर / आकार मीट्रिक मिली है जो फ़ाइलों और बाइट्स को सुनिश्चित करने के लिए कैल्क में कॉपी / पेस्ट किया जा सकता है। स्रोत के समान।
माइकल स्टिमसन

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

अगर
सेमी

... जो इन दिनों एक बहुत गंभीर सीमा है!
21

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+)तो आप कुछ सुंदर सम्मोहक फ़ाइल आकार विश्लेषण बना सकते हैं।

नीचे दी गई स्क्रिप्ट को ब्लैंक क्वेरी में पेस्ट किया जा सकता है; केवल एक चीज जो आपको करने की आवश्यकता है, वह है "paramRootFolderSearch" नामक एक पैरामीटर जोड़ें, फिर अपना मान जोड़ें, जैसे कि "C: \ Users \ bl0040 \ Dropbox \"। मैंने इसे एक गाइड के रूप में उपयोग किया: MSSQLTips: पावर क्वेरी का उपयोग करके फ़ाइल सिस्टम से फ़ाइल का आकार पुनर्प्राप्त करें

इस क्वेरी ने मेरे लिए एक पिवट टेबल ( [Folder Root]> [Folder Parent (1-2)], [Name]) बनाने के लिए डेटा प्रदान किया , और मैं कुछ फाइलों की पहचान करने में सक्षम था, जिन्हें मैं हटा सकता था, जिससे मेरी निर्देशिका में बहुत अधिक जगह साफ हो गई।

यहाँ PowerQuery के लिए एम स्क्रिप्ट है :

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)"

फ़ोल्डर फ़ाइल Sizes_xlsx.png

यहां छवि विवरण दर्ज करें

फ़ोल्डर फ़ाइल Sizes_xlsx2.png

यहां छवि विवरण दर्ज करें


0

बस पावर शेल खोलें और du -sh <directory>3rd पार्टी या sys-internals स्थापित करने की कोई आवश्यकता नहीं है। पॉवर-शेल के भीतर आप कुछ साधारण लिनक्स चला सकते हैं जैसे ls या du कमांड्स, कुछ स्विच जैसे काम नहीं ls -altकरेंगे जैसे कि पॉवरशेल पता नहीं चलेगा कि -alt क्या है ...


3
PowerShell का कौन सा संस्करण उपयोग कर रहे हैं? और क्या आप सुनिश्चित हैं कि आपके पास Sysinternals स्थापित नहीं है? "Du" कमांड मेरे द्वारा एक्सेस की गई किसी भी सिस्टम में निर्मित नहीं होती है। कुछ प्रलेखन लिंक भी उपयोगी होगा।
अनुलाग

मैं विंडोज 10 के नवीनतम फास्ट इनसाइडर चैनल पर हूं और बिल्कुल duउपलब्ध नहीं है
फुलकव

-2

"Dir" कमांड फ़ाइल का आकार, अंतिम संशोधन तिथि और वर्तमान निर्देशिका का समय प्रदान करता है। पहले उस डायरेक्टरी को स्थानांतरित करने का प्रयास करें जिसे आप cdकमांड का उपयोग करने के आकार को देखना चाहते हैं , फिर dirकमांड का उपयोग करें ।

C:\>dir 

फ़ाइल आकार, अंतिम संशोधन तिथि और उस निर्देशिका में सभी फ़ाइलों और निर्देशिकाओं का समय, जो आप वर्तमान में, वर्णमाला क्रम में हैं।


3
यह भी एक बुरा जवाब है। यह वर्तमान निर्देशिका में सभी फ़ाइलों के संयुक्त आकार को आउटपुट करेगा। हालांकि यह वर्तमान निर्देशिका में किसी भी निर्देशिका के आकार को आउटपुट नहीं करेगा। यह केवल वही नहीं करता है जो ऑप पूछ रहा है।
डेगो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.