<?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=682&amp;type=atom" />
	<updated>2010-06-10T17:24:05Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=682</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: удаление всех подкаталогов из определённого каталога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=36494#p36494" />
			<content type="html"><![CDATA[<p>Чтобы удалить каталог вместе со всем содержимым(файлами и подкаталогами), можно использовать функцию DelNodeRunDLL32 из advpack.dll:</p><div class="codebox"><pre><code>@echo off
echo Press anykey to continue, press Ctrl+C to cancel...
pause
rundll32.exe advpack.dll,DelNodeRunDLL32 %1
echo [%1] has been deleted</code></pre></div><p>...либо программку DELTREE.EXE, которая входит в состав MSDOS начиная с 6.0:<br /></p><div class="codebox"><pre><code>@echo off
echo Press anykey to continue, press Ctrl+C to cancel...
pause
DELTREE.EXE /y %1
echo ready</code></pre></div><p>Чтобы очистить каталог от файлов и вложенных подкаталогов можно использовать такую команду:<br /></p><div class="codebox"><pre><code>@echo off
echo Press anykey to continue, press Ctrl+C to cancel...
pause
DELTREE.EXE /y %1\*.*
echo ready</code></pre></div><p>Если какой-то из удаляемых файлов используется операционной системой, то он не сможет быть удален.</p>]]></content>
			<author>
				<name><![CDATA[Poltergeyst]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=83</uri>
			</author>
			<updated>2010-06-10T17:24:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=36494#p36494</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: удаление всех подкаталогов из определённого каталога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=21237#p21237" />
			<content type="html"><![CDATA[<p>Пакетный файл «ClearFolder.cmd» очищает папку, указанную параметром, от всех файлов и подпапок (в том числе и вложенных), независимо от их атрибутов (hidden, system, read-only).</p><p><em><strong>ClearFolder.cmd</strong></em><br /></p><div class="codebox"><pre><code>@echo off
setlocal enableextensions enabledelayedexpansion

if exist &quot;%~1&quot; (
    echo Clearing folders in [%~1].
    pushd &quot;%~1&quot; &amp;&amp; (rmdir /s /q &quot;%~1&quot; &amp; popd) 2&gt;nul
) else (
    echo Not found [%~1]
)

endlocal
exit /b 0</code></pre></div><p>Примеры использования:<br /></p><div class="codebox"><pre><code>ClearFolder.cmd &quot;c:\work&quot;
ClearFolder.cmd &quot;%Temp%&quot;</code></pre></div><p>Автор идеи — <strong>DStar</strong>, адаптация — <strong>alexii</strong>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2009-04-01T14:31:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=21237#p21237</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: удаление всех подкаталогов из определённого каталога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=19558#p19558" />
			<content type="html"><![CDATA[<p>Пример BAT файла, удаляющего в текущем каталоге и рекурсивно в его подкаталогах, каталог с именем &quot;.svn&quot;, а потом удаляющий сам себя.</p><div class="codebox"><pre><code>@echo off
rem unsvn.bat
setlocal
rem rdir=название_удаляемых_каталогов
set rdir=.svn
rem Раскоментировать чтоб задавать имя удаляемого каталога в строке параметров:
rem set rdir=%1
set fpath=%~dps0
call :func %fpath:~0,-1%
goto end
:func
for /f &quot;delims=&quot; %%i in (&#039;dir %1 /a:d /b&#039;) do IF /I %%i==%rdir% ( rmdir /s /q %1\%%i &amp;&amp; echo deleted %1\%%i ) ELSE ( call :func %1\%%i )
exit /b
:end
rem Удалить самого себя:
del /Q /F %fpath%%~nx0</code></pre></div><p>PS: Используется для создания пакета исходников без ссылок на SVN сервер.</p>]]></content>
			<author>
				<name><![CDATA[-red-]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=11960</uri>
			</author>
			<updated>2009-02-16T14:12:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=19558#p19558</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: удаление всех подкаталогов из определённого каталога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=4767#p4767" />
			<content type="html"><![CDATA[<p>Если требуется удалить все подкаталоги из определённого каталога, не удаляя сам каталог:<br /></p><div class="codebox"><pre><code>for /d %%i in (&quot;d:\test\*&quot;) do rmdir /s /q &quot;%%i&quot;</code></pre></div><p>Или:<br /></p><div class="codebox"><pre><code>for /f &quot;delims=&quot; %%i in (&#039;dir &quot;d:\test&quot; /a:d /b&#039;) do rmdir /s /q &quot;d:\test\%%i&quot;</code></pre></div><p>Первая команда не видит скрытые папки.<br />Примеры даны для командных файлов, при вызове из командной строки надо писать %i вместо %%i.<br />Автор примеров - <strong>wisgest</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2007-09-14T16:09:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=4767#p4767</id>
		</entry>
</feed>
