मैं सर्वरों (स्थानीय रूप से चलने वाली स्क्रिप्ट) के C: \ ड्राइव के कुल आकार और मुक्त स्थान को खींचने के लिए एक बैच फ़ाइल बनाने का प्रयास कर रहा हूं। मुझे आसानी से पठनीय होने के लिए आउटपुट की भी आवश्यकता है, इसलिए बाइट्स काम नहीं करने वाले हैं, इसलिए मैं एक कमांड लाइन के साथ ठीक हूं जो एक अस्थायी .vbs फ़ाइल बनाता है।
निम्नलिखित ऐसा लगता है कि यह काम कर सकता है, लेकिन स्वरूपण / गणित सही नहीं है।
setlocal
for /f "tokens=6" %a in ('fsutil volume diskfree C: ^| find "of bytes"') do set diskspace=%a
echo wsh.echo FormatNumber(cdbl(%diskspace%)/1024, 0) > %temp%.\tmp.vbs
for /f %a in ('cscript //nologo %temp%.\tmp.vbs') do set diskspace=%a
del %temp%.\tmp.vbs
echo For example %diskspace%
उपरोक्त आदेश भी केवल खाली स्थान दिखा रहे हैं ... मुझे कुल आकार भी पसंद आएगा ... आश्चर्य है कि अगर निम्नलिखित कमांड जानकारी खींचने के लिए बेहतर हो सकती है:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
यह भी ध्यान दें कि मैं चाहता हूं कि यह एक कमांड प्रॉम्प्ट में सीधे कॉपी / पेस्ट किया जा सके (बैच फ़ाइल नहीं - मजबूर आवश्यकताएं)। मैंने पहले ही ऊपर के कोड से "%%" हटा दिया है।
नोट: मूल रूप से सर्वर 2003+ (ताकि पॉवर्सशेल बाहर है, साथ ही किसी भी 3 पार्टी के बर्तन) को चलाने की आवश्यकता है।