<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Поиск по маске, копирование, переименование]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=7408</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7408&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Поиск по маске, копирование, переименование».]]></description>
		<lastBuildDate>Tue, 07 Aug 2012 07:43:48 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62446#p62446</link>
			<description><![CDATA[<p>При тестировании встречались такие пути: C:\Users\User\AppData\Local\Mozilla\Firefox\Profiles\u0j93lbe.default\Cache\B\* в результате чего появлялось сообщение: Не удается найти указанный файл. Это сообщение генерируется при копировании так что на него можно не обращать внимания так как батник работает дальше без проблем.</p><div class="codebox"><pre><code>@echo off
if &quot;%1&quot;==&quot;&quot; goto :help
if &quot;%2&quot;==&quot;&quot; goto :help

set rashirenie=%1
set target=%2

for %%f in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( call :copyfind %%f)
goto :exit

rem ##########################################################
:copyfind
cd %~1:\ 
if %errorlevel% == 0 ( 
    for /r %~1:\ %%i in (dir *.%rashirenie% /B /A-D) do @if exist &quot;%%i&quot; (if not &quot;%%i&quot; == &quot;%~fnx0&quot; (if not &quot;%%~dpi&quot; == &quot;%target%&quot; ( call :chekcopy &quot;%%i&quot; 1 &quot;%%i&quot;)))
)
exit /b 0
rem ##########################################################


rem ##########################################################
:chekcopy
if %ERRORLEVEL% GTR 0 exit /b 0

if not exist &quot;%target%%~nx1&quot; ( 
    copy &quot;%~f3&quot; &quot;%target%%~nx1&quot;
    exit /b 7 ) 

set newfile=%~n1
set /a count=%~2+1
set /a countold=%~2-1
    
if &quot;%newfile:~-3%&quot;==&quot;(%countold%)&quot; (
    call :chekcopy &quot;%~dp1%newfile:~0,-3%(%~2)%~x1&quot; %count% %3
    exit /b 7
    )

if &quot;%newfile:~-3%&quot;==&quot;(%~2)&quot; ( 
    call :chekcopy &quot;%~dp1%newfile:~0,-3%(%count%)%~x1&quot; %count% %3
    exit /b 7
    )

call :chekcopy &quot;%~dp1%newfile%(%~2)%~x1&quot; %count% %3
exit /b 0
rem ##########################################################

rem ##########################################################
:help
echo Использование: %~nx0 bat C:\1_test\
echo Расширение указывать без точки, только 3 буквы: doc или txt или bat или xls и т.д.
echo При указании директории куда будут копироваться найденные файлы указывайте полный путь. Букву диска указывайте с большой буквы.
echo.
echo Описание: Пакетный файл ищет файлы по задонному расширению на дисках от C до Z и копирует их в заданную директорию. Если в директории уже есть файлы 
echo с таким же именем то он их копирует с добавлением номера (вот так (1), (2), (3)) Если файлов с динаковым именем больше 10 то 
echo переименование получит вид: имя файла (10)(11). Надеюсь у вас такого не будет :)
echo.
echo Внимание! Если в вашей системе есть кард ридер то возможно появление сообщения что устройство не готово, просто нажмите кнопку продолжить в окне и все, так было у меня.
exit /b 0
rem ##########################################################
:exit</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (MegaScrew)]]></author>
			<pubDate>Tue, 07 Aug 2012 07:43:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62446#p62446</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62359#p62359</link>
			<description><![CDATA[<p><strong>obse</strong><br /><a href="http://forum.script-coding.com/viewforum.php?id=14">Тут</a> на vbs могу сделать. На cmd лень..</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Sat, 04 Aug 2012 13:03:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62359#p62359</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62238#p62238</link>
			<description><![CDATA[<p>Я вобще не слышал о копировании с переименованием дублей стандартными средствами XCOPY.</p><p>Я бы попробовал организовать это дело архивированием с хранением нескольких версий файла. Например, архиватором WinRAR такое можно сделать, см.его хэлп.</p>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Wed, 01 Aug 2012 08:58:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62238#p62238</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62217#p62217</link>
			<description><![CDATA[<p>Пока топчусь на месте, решения нет. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (obse)]]></author>
			<pubDate>Tue, 31 Jul 2012 14:57:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62217#p62217</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62204#p62204</link>
			<description><![CDATA[<p><strong>alexii</strong>, я видел на форуме вы с похожим сталкивались, может посмотрите, что не так. С переменными у меня вообще все сложно. Вот пытаюсь что-то делать, но не уверен.<br /></p><div class="codebox"><pre><code>@echo off
md d:\test
xcopy /y /h &quot;C:\, D:\, E:\, F:\ *.txt&quot; &quot;d:\test&quot;
pause</code></pre></div><p>Думаю уже тут есть ошибки, не работает. А с заменой имен по счетчику совсем не понимаю.</p>]]></description>
			<author><![CDATA[null@example.com (obse)]]></author>
			<pubDate>Tue, 31 Jul 2012 07:36:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62204#p62204</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62184#p62184</link>
			<description><![CDATA[<p>Спасибо за замечания, одну задачу снял с сообщения. Прочитал правила и вторую тему относительно заголовка. С заголовком думал ветка языка программирования подставится автоматом, ну а в теле сообщения без помощи мне не обойтись. Сорри.</p>]]></description>
			<author><![CDATA[null@example.com (obse)]]></author>
			<pubDate>Mon, 30 Jul 2012 20:57:02 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62184#p62184</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62183#p62183</link>
			<description><![CDATA[<p><span style="color: Green"><strong>obse</strong>, прочтите <a href="http://forum.script-coding.com/rules.html">Правила форума</a>. Прочтите <a href="http://forum.script-coding.com/viewtopic.php?id=5421">это</a>. Я поправил оформление Вашего поста.</span></p><p><span style="color: Green">Обратите внимание на правило: «один вопрос — одна тема».</span></p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 30 Jul 2012 20:39:36 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62183#p62183</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=62176#p62176</link>
			<description><![CDATA[<p>Доброго времени суток Уважаемые.<br />Перечитал все темы и понял, что я ничего не понял. Пытался сам создать батник, но явно я в этом ничего не понимаю. Прошу помочь написать код для следующей задачи:<br />Бат-файл запускается с любого места на компе. Необходимо найти все файлы на компьютере (диски c,d,e,f,....) по маске (*.txt - маска будет меняться периодически ручками) и скопировать их на диск D:\test\, при этом надо учесть, чтоб повторяющиеся имена файлов переименовывались примерно так: doc.txt, doc(1).txt, doc(2).txt,...... и не копировалась повторно сама же папка D:\test\. Желательно, чтоб при запуске батника окно сворачивалось в панель задач.</p><br /><p>P.S. Поиском пользоваться умею и похожие темы читал, но не укладывается это в моей голове, извините. Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (obse)]]></author>
			<pubDate>Mon, 30 Jul 2012 19:22:31 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=62176#p62176</guid>
		</item>
	</channel>
</rss>
