<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: получение информации о количестве свободного места на дисках]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2328</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2328&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: получение информации о количестве свободного места на дисках».]]></description>
		<lastBuildDate>Tue, 21 Oct 2008 11:36:09 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: получение информации о количестве свободного места на дисках]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=14979#p14979</link>
			<description><![CDATA[<p>Выкладываю обновлённую версию, добавлено:<br />1. После числа МБ свободного места, указана ёмкость устройства;<br />2. В случае, когда свободного места на диске больше чем 1024 МБ, выводится в ГБ;<br />3. В случае, когда сменных накопителей найдено не было, заголовок &quot;Сменные накопители&quot; не выводится<br /></p><div class="codebox"><pre><code>on Error resume Next &#039;Исключаем завершение кода скрипта в случае ошибки
fp = 0
fm = &quot;  МБ&quot;
stringx = &quot;          Локальные диски&quot; &amp; vbNewLine  &amp; vbNewLine
allch = vbNewLine &amp; &quot;          Сменные накопители&quot; &amp; vbNewLine  &amp; vbNewLine
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WSHShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
&#039;Проверяем все драйвы (HDD, FDD, CDD) в системе    
For each i In fso.Drives 
    &#039;DriveType=1 - Сменные накопители
    If i.DriveType=1 Then
        &#039;Исключаем проверку дисковода
        If i&lt;&gt;&quot;A:&quot; Then
            &#039;Счетчик, понадобится для выявления отсутствия сменных накопителей
            fp = fp +1
            &#039;Запоминаем в переменную данные о каждом сменном накопителе
            allch = allch &amp; &quot;  На диске &quot; &amp; i &amp; &quot; свободно &quot; &amp; frit(i) &amp; fm &amp; &quot;  (Ёмкость: &quot; &amp; ava(i) &amp;  fm &amp; &quot; )&quot; &amp; vbNewLine
        End If
    End If
    &#039;DriveType=2 - логические диски.
    If i.DriveType=2 Then
        &#039;Запоминаем в переменную данные о каждом логическом диске
        stringx= stringx &amp; &quot; На диске &quot; &amp; i &amp; &quot; свободно &quot; &amp; frit(i) &amp; fm &amp; &quot;  (Ёмкость: &quot; &amp; ava(i) &amp;  fm &amp; &quot; )&quot; &amp; vbNewLine
    End If
Next
&#039;Собираем всё в одну строку  и, если сменных накопителей обнаружено не было, заголовок к ним выводить не будем
if fp&gt;0 Then
    stringx = stringx &amp; allch
End If
&#039;Выводим строку с накопленной информацией
WSHShell.Popup(stringx)
&#039;После чего завершаем программу
WScript.Quit()

&#039;Узнаем свободное место и переводим его в Мб (а если составляется Гигабайт, то в ГБ)  с точностью до 1 знака после запятой
function frit(gg)
    frit = FormatNumber(fso.GetDrive(gg.DriveLetter).FreeSpace/1048576, 1)
    If frit&gt;1024 Then
    frit = FormatNumber(frit/1024,1)
    fm = &quot;  ГБ&quot;
    Elseif frit&lt;1024 Then
    fm = &quot;  МБ&quot;
    End If
End function

&#039;Узнаем ёмкость устройства и переводим его в МБ (а если составляется Гигабайт, то в ГБ)  с точностью до 3 знаков после запятой
function ava(ogg)
ava = FormatNumber(fso.GetDrive(ogg.DriveLetter).TotalSize/1048576, 3)
    If ava&gt;1024 Then
    ava = FormatNumber(ava/1024,1)
    fm = &quot;   ГБ&quot;
    Elseif frit&lt;1024 Then
    fm = &quot;   МБ&quot;
    End If
End function</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Resager)]]></author>
			<pubDate>Tue, 21 Oct 2008 11:36:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=14979#p14979</guid>
		</item>
		<item>
			<title><![CDATA[VBScript: получение информации о количестве свободного места на дисках]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=14689#p14689</link>
			<description><![CDATA[<p>Данная программа выводит единственное окно с информацией о количестве свободного места на логических жёстких дисках и сменных накопителях:</p><div class="codebox"><pre><code>on Error resume Next &#039;Исключаем завершение кода скрипта в случае ошибки
stringx = &quot;          Локальные диски&quot; &amp; vbNewLine  &amp; vbNewLine
allch = vbNewLine &amp; &quot;          Сменные накопители&quot; &amp; vbNewLine  &amp; vbNewLine
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WSHShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
&#039;Проверяем все драйвы (HDD, FDD, CDD) в системе    
For each i In fso.Drives 
    &#039;DriveType=1 - Сменные накопители
    If i.DriveType=1 Then
        &#039;Исключаем проверку дисковода
        If i&lt;&gt;&quot;A:&quot; Then
            &#039;Узнаем свободное место и переводим его в Мб с точностью до 1 знака после запятой
            freef = frit(i)
            &#039;Запоминаем в переменную данные о каждом логическом диске
            allch = allch &amp; &quot;  На диске &quot; &amp; i &amp; &quot; свободно &quot; &amp; freef &amp; &quot; Мб! &quot; &amp; vbNewLine
        End If
    End If
    &#039;DriveType=2 - логические диски.
    If i.DriveType=2 Then
        &#039;Узнаем свободное место и переводим его в Мб с точностью до 1 знака после запятой
        free=frit(i)
        &#039;Запоминаем в переменную данные о каждом логическом диске
        stringx= stringx &amp; &quot; На диске &quot; &amp; i &amp; &quot; свободно &quot; &amp; free &amp; &quot; Мб! &quot; &amp; vbNewLine
    End If
Next
&#039;Собираем всё в одну строку.
stringx = stringx &amp; allch
&#039;Выводим строку с накопленной информацией
WSHShell.Popup(stringx)
&#039;После чего завершаем программу
WScript.Quit()

&#039;Узнаем свободное место и переводим его в Мб с точностью до 1 знака после запятой
function frit(gg)
frit = FormatNumber(fso.GetDrive(gg.DriveLetter).FreeSpace/1048576, 1)
End function</code></pre></div><p>В файле указан пример выполнения данной программы.</p>]]></description>
			<author><![CDATA[null@example.com (Resager)]]></author>
			<pubDate>Sun, 12 Oct 2008 06:41:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=14689#p14689</guid>
		</item>
	</channel>
</rss>
