<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: получение информации о количестве свободного места на дисках]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2328&amp;type=atom" />
	<updated>2008-10-21T11:36:09Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=2328</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: получение информации о количестве свободного места на дисках]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=14979#p14979" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Resager]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=22114</uri>
			</author>
			<updated>2008-10-21T11:36:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=14979#p14979</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: получение информации о количестве свободного места на дисках]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=14689#p14689" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Resager]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=22114</uri>
			</author>
			<updated>2008-10-12T06:41:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=14689#p14689</id>
		</entry>
</feed>
