<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: Сравнение свободного места на диске]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7976&amp;type=atom" />
	<updated>2013-01-27T08:48:02Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7976</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68909#p68909" />
			<content type="html"><![CDATA[<p>а сколько цифир нухно откусить у числа 456 ?</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2013-01-27T08:48:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68909#p68909</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68869#p68869" />
			<content type="html"><![CDATA[<p><strong>pacman</strong> сравнивает с МБ, поэтому в любом случае нужно откусить 6 цифр</p><div class="codebox"><pre><code>@echo off &amp;setlocal enableextensions &amp;chcp 1251 &gt;nul

set DISK=D:
set SPACE=15
for /f &quot;skip=2 tokens=2 delims=:&quot; %%i in (&#039;fsutil volume diskfree %DISK%&#039;) do set FREESIZE=%%i
set FREESIZE=%FREESIZE:~0,-7%
if &quot;%FREESIZE%&quot; == &quot;&quot; set /a FREESIZE=0
if &quot;%FREESIZE%&quot; == &quot; &quot; set /a FREESIZE=0
if %FREESIZE% lss %SPACE% (
    echo Мало свободного места на диске.
) else (
    echo На диске %DISK% достаточно свободного места.
)
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2013-01-26T09:25:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68869#p68869</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68691#p68691" />
			<content type="html"><![CDATA[<p>сколько нужно &quot;откусить&quot; у числа 456 и 456000000000 ?</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2013-01-19T04:56:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68691#p68691</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68678#p68678" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>smaharbA пишет:</cite><blockquote><p>cmd /q /v:on /c &quot;for /f &quot;tokens=3&quot;&nbsp; %x in (&#039;dir /-c x:\.. ^| sort&#039;) do (echo %x&amp;exit /b)&quot;</p></blockquote></div><p>далеко не всегда даёт верный результат</p><p>а откусывать нужно чтобы сравнивать числа и не упереться в ограничение 2^31</p><p>если же сравнивать строки, то придётся возится с выравниванием длины строк</p>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2013-01-18T21:45:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68678#p68678</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68661#p68661" />
			<content type="html"><![CDATA[<p>вариант с вми</p><p>for /f %%x in (&#039;wmic logicaldisk where name^=&#039;c:&#039; get freespace /format:value&#039;) do set %%~x&gt;nul<br />echo &quot;%FreeSpace%&quot;</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2013-01-18T17:37:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68661#p68661</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68654#p68654" />
			<content type="html"><![CDATA[<p>и еще справку не помешало бы почитать</p><br /><p>cmd /q /v:on /c &quot;(if &quot;1999999999999&quot; lss &quot;9&quot; echo 1999999999999 ^&lt; 9) &amp; (if 1999999999999 gtr 9 echo 1999999999999 ^&gt; 9)&quot;</p><p>хотя да, тут не совсем прав</p><p>к слову</p><p>set FREESIZE=%FREESIZE: =%</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2013-01-18T16:53:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68654#p68654</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68652#p68652" />
			<content type="html"><![CDATA[<p>cmd /q /v:on /c &quot;for /f &quot;tokens=3&quot;&nbsp; %x in (&#039;dir /-c x:\.. ^| sort&#039;) do (echo %x&amp;exit /b)&quot;</p><p>и по сабжу ненадо ничего &quot;откусывать&quot;</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2013-01-18T16:46:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68652#p68652</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68639#p68639" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>!k пишет:</cite><blockquote><div class="codebox"><pre><code>@echo off &amp;setlocal enableextensions &amp;chcp 1251 &gt;nul

set DISK=D:
set SPACE=15
for /f &quot;skip=2 tokens=2 delims=:&quot; %%i in (&#039;fsutil volume diskfree %DISK%&#039;) do set FREESIZE=%%i
set FREESIZE=%FREESIZE:~0,-7%
if %FREESIZE% lss %SPACE% (
    echo Мало свободного места на диске.
) else (
    echo На диске %DISK% достаточно свободного места.
)
</code></pre></div><p>из-за &quot;особенности&quot; вывода приходится откусывать на 1 символ больше: 7 для MB – по крайней мере на XP</p></blockquote></div><p>Всем огромное спасибо, особенно !k. Все работает.</p><p>Я думаю можно закрыть тему.</p>]]></content>
			<author>
				<name><![CDATA[pacman_sa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29408</uri>
			</author>
			<updated>2013-01-18T12:09:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68639#p68639</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68614#p68614" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>@echo off &amp;setlocal enableextensions &amp;chcp 1251 &gt;nul

set DISK=D:
set SPACE=15
for /f &quot;skip=2 tokens=2 delims=:&quot; %%i in (&#039;fsutil volume diskfree %DISK%&#039;) do set FREESIZE=%%i
set FREESIZE=%FREESIZE:~0,-7%
if %FREESIZE% lss %SPACE% (
    echo Мало свободного места на диске.
) else (
    echo На диске %DISK% достаточно свободного места.
)
</code></pre></div><p>из-за &quot;особенности&quot; вывода приходится откусывать на 1 символ больше: 7 для MB – по крайней мере на XP</p>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2013-01-17T15:55:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68614#p68614</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68610#p68610" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Arigato пишет:</cite><blockquote><p>Внутри скобок не %FREESIZE%, а !FREESIZE!</p></blockquote></div><p>В каком месте?</p>]]></content>
			<author>
				<name><![CDATA[pacman_sa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29408</uri>
			</author>
			<updated>2013-01-17T12:33:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68610#p68610</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68520#p68520" />
			<content type="html"><![CDATA[<p>Внутри скобок не %FREESIZE%, а !FREESIZE!</p>]]></content>
			<author>
				<name><![CDATA[Arigato]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29277</uri>
			</author>
			<updated>2013-01-15T21:34:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68520#p68520</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68516#p68516" />
			<content type="html"><![CDATA[<p>а на ограничение всем покласть ?</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2911</uri>
			</author>
			<updated>2013-01-15T18:51:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68516#p68516</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68510#p68510" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Прошу прощения. Опечатка. Должно быть:<br /></p><div class="codebox"><pre><code>
set A=%A:~-6%
</code></pre></div></blockquote></div><p>Спасибо, я разобрался. Сравнение строковых параметров у меня не получилось (. Видно руки не из того места растут ).<br /></p><div class="codebox"><pre><code>
echo on
set DISK=C:
set SPACE=12000
for /f &quot;skip=2 tokens=2 delims=:&quot; %%i in (&#039;fsutil volume diskfree %DISK%&#039;) do (
    set FREESIZE=%%i
    set FREESIZE=%FREESIZE:~-12%
    echo %FREESIZE%
    if &quot;%FREESIZE%&quot; lss &quot;%SPACE%&quot; (
        echo Мало свободного места на диске %DISK%.
    ) else (
        echo На диске %DISK% достаточно свободного места.
    )
)
</code></pre></div><div class="quotebox"><blockquote><div class="codebox"><pre><code>
fsutil volume diskfree с: | cscript //nologo showusage.js
</code></pre></div></blockquote></div><p>При любых значениях перед &quot;free&quot; выводит OK )), здесь не моу разобраться.</p>]]></content>
			<author>
				<name><![CDATA[pacman_sa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29408</uri>
			</author>
			<updated>2013-01-15T12:11:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68510#p68510</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68509#p68509" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>pacman_sa пишет:</cite><blockquote><p>3-я строка не отрабатывает</p></blockquote></div><p>Прошу прощения. Опечатка. Должно быть:<br /></p><div class="codebox"><pre><code>
set A=%A:~-6%
</code></pre></div><div class="quotebox"><blockquote><p>JScript я хуже знаю и он для задачи немного не подходит.</p></blockquote></div><p>Ну почему же не подходит? Не вдаваясь в дебри совместного использования cmd/jscript (темы <a href="http://forum.script-coding.com/viewtopic.php?id=2886">1</a>, <a href="http://forum.script-coding.com/viewtopic.php?id=6304">2</a>), очень даже подходит:</p><p>Пример кода: showusage.js<br /></p><div class="codebox"><pre><code>
var stdin = WScript.StdIn;

stdin.SkipLine();
stdin.SkipLine();

var free = stdin.ReadLine().replace(/^.+: /, &#039;&#039;);

WScript.Echo(free &lt; 15000000 ? &#039;Not enough diskspace&#039; : &#039;OK&#039;);
</code></pre></div><p>Пример использования<br /></p><div class="codebox"><pre><code>
fsutil volume diskfree с: | cscript //nologo showusage.js
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2013-01-15T10:54:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68509#p68509</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Сравнение свободного места на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68507#p68507" />
			<content type="html"><![CDATA[<p>JScript я хуже знаю и он для задачи немного не подходит. <br />3-я строка не отрабатывает<br /></p><div class="codebox"><pre><code>
c:\tools\scripts\test&gt;set A=123

c:\tools\scripts\test&gt;set A=000000123

c:\tools\scripts\test&gt;set A=A:-6
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[pacman_sa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29408</uri>
			</author>
			<updated>2013-01-15T09:33:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68507#p68507</id>
		</entry>
</feed>
