<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7408&amp;type=atom" />
	<updated>2012-08-07T07:43:48Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=7408</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62446#p62446" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[MegaScrew]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28387</uri>
			</author>
			<updated>2012-08-07T07:43:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62446#p62446</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62359#p62359" />
			<content type="html"><![CDATA[<p><strong>obse</strong><br /><a href="http://forum.script-coding.com/viewforum.php?id=14">Тут</a> на vbs могу сделать. На cmd лень..</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2012-08-04T13:03:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62359#p62359</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62238#p62238" />
			<content type="html"><![CDATA[<p>Я вобще не слышал о копировании с переименованием дублей стандартными средствами XCOPY.</p><p>Я бы попробовал организовать это дело архивированием с хранением нескольких версий файла. Например, архиватором WinRAR такое можно сделать, см.его хэлп.</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2012-08-01T08:58:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62238#p62238</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62217#p62217" />
			<content type="html"><![CDATA[<p>Пока топчусь на месте, решения нет. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[obse]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28429</uri>
			</author>
			<updated>2012-07-31T14:57:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62217#p62217</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62204#p62204" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[obse]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28429</uri>
			</author>
			<updated>2012-07-31T07:36:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62204#p62204</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62184#p62184" />
			<content type="html"><![CDATA[<p>Спасибо за замечания, одну задачу снял с сообщения. Прочитал правила и вторую тему относительно заголовка. С заголовком думал ветка языка программирования подставится автоматом, ну а в теле сообщения без помощи мне не обойтись. Сорри.</p>]]></content>
			<author>
				<name><![CDATA[obse]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28429</uri>
			</author>
			<updated>2012-07-30T20:57:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62184#p62184</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62183#p62183" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-07-30T20:39:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62183#p62183</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: Поиск по маске, копирование, переименование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=62176#p62176" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[obse]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28429</uri>
			</author>
			<updated>2012-07-30T19:22:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=62176#p62176</id>
		</entry>
</feed>
