<?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=8519&amp;type=atom" />
	<updated>2013-08-22T10:26:36Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8519</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74864#p74864" />
			<content type="html"><![CDATA[<p><span style="color: Green">Коллега <strong>GRAF</strong> на три дня отправляется на изучение <a href="http://forum.script-coding.com/rules.html">Правил</a> форума и <a href="http://forum.script-coding.com/help.php?section=bbcode">оформления кода тэгом «code»</a>.</span></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-08-22T10:26:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74864#p74864</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74859#p74859" />
			<content type="html"><![CDATA[<p>Гляньте может кто ошибки найдёт <br />@echo off<br />:loop<br />ping -n 1 -w 15000 192.168.254.254 &gt;nul<br />set first=D:\q<br />set a=D:\qwe<br />set b=D:\qwer<br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%a%\%%i&quot;<br />for %%i in (*.P2) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%a%\%%i&quot;<br />:test<br />if exist D:\qwe\*.P1 goto go<br />if exist D:\qwe\*.P2 goto go<br />goto test<br />:go<br />ping -n 1 -w 1000 192.168.254.254 &gt;nul<br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;<br />for %%i in (*.P2) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;<br />goto loop</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-22T01:21:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74859#p74859</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74804#p74804" />
			<content type="html"><![CDATA[<p><span style="color: Green"><strong>GRAF</strong>, повторяю ещё один раз: научитесь пользоваться тэгом «code». Жду исправления в оформлении Вашего последнего поста.</span></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-08-21T06:09:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74804#p74804</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74803#p74803" />
			<content type="html"><![CDATA[<p>Под зависимостью понимал выполнения 2 батников пример</p><p>1.bat</p><p>@echo off<br />set first=D:\q<br />set a=D:\qwe<br />set b=D:\qwer<br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%a%\%%i&quot;</p><p>2.bat</p><p>@echo off<br />set first=D:\q<br />set a=D:\qwe<br />set b=D:\qwer<br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;</p><p>и они выполняются последовательно</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T05:37:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74803#p74803</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74801#p74801" />
			<content type="html"><![CDATA[<p><span style="color: Green"><strong>GRAF</strong>, пора научиться пользоваться <a href="http://forum.script-coding.com/help.php?section=bbcode">тэгом «code»</a>.</span></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-08-21T05:12:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74801#p74801</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74800#p74800" />
			<content type="html"><![CDATA[<p>Всё сделал проще </p><div class="codebox"><pre><code>@echo off
:loop
ping -n 1 -w 10000 192.168.254.254 &gt;nul
set first=D:\q
set a=D:\qwe
set b=D:\qwer
for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%a%\%%i&quot;
for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;
goto loop</code></pre></div><br /><p>)) всё робит</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T04:12:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74800#p74800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74799#p74799" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>не понял с for /f &quot;tokens=4*&quot;&nbsp; но переменные действуют тока через %%а</p></blockquote></div><p>Так исправьте на <strong>%%a</strong>.<br /></p><div class="quotebox"><blockquote><p>но эти два каталога у меня и так идеальна проходили.</p></blockquote></div><p><strong>robocopy</strong> в данном случае указывает т.н. &quot;новые&quot; файлы.<br /></p><div class="quotebox"><blockquote><p>Можно объяснить на пальцах я проста не разу не сталкивался с токином.</p></blockquote></div><p>robocopy при &quot;зеркалировании&quot; директории выдаст в консоль:<br /></p><div class="codebox"><pre><code>
E:\tmp&gt;robocopy 1 2 *.p1 /mir /np

------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
------------------------------------------------------------------------------

  Started : Wed Aug 21 07:17:35 2013

   Source : E:\tmp\1\
     Dest : E:\tmp\2\

    Files : *.p1

  Options : /S /E /COPY:DAT /PURGE /MIR /NP /R:1000000 /W:30

------------------------------------------------------------------------------

                          10    E:\tmp\1\
            New File                   2        1.p1
            New File                   2        10.p1
            New File                   2        2.p1
            New File                   2        3.p1
            New File                   2        4.p1
            New File                   2        5.p1
            New File                   2        6.p1
            New File                   2        7.p1
            New File                   2        8.p1
            New File                   2        9.p1

------------------------------------------------------------------------------

                Total    Copied   Skipped  Mismatch    FAILED    Extras
     Dirs :         1         0         1         0         0         0
    Files :        10        10         0         0         0         0
    Bytes :        20        20         0         0         0         0
    Times :   0:00:00   0:00:00                       0:00:00   0:00:00

    Speed :                 645 Bytes/sec.
    Speed :               0.036 MegaBytes/min.

    Ended : Wed Aug 21 07:17:35 2013

</code></pre></div><div class="codebox"><pre><code>find /i &quot;new file&quot; </code></pre></div><p>Сократит изначальный вывод robocopy до:<br /></p><div class="codebox"><pre><code>
            New File                   2        1.p1
            New File                   2        10.p1
            New File                   2        2.p1
            New File                   2        3.p1
            New File                   2        4.p1
            New File                   2        5.p1
            New File                   2        6.p1
            New File                   2        7.p1
            New File                   2        8.p1
            New File                   2        9.p1
</code></pre></div><p>Который и будет обрабатываться в цикле.</p><p><a href="http://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D0%BA%D0%B5%D0%BD">Токен (лексический анализ) — последовательности символов в лексическом анализе в информатике, соответствующий лексеме.</a><br />При указании опции &quot;tokens=...&quot; мы указываем какие лексемы (слова или подстроки) будут ипользоваться нами. Стандартный разделитель - знаки пробела или табуляции.<br />Т.о. &quot;tokens=4*&quot; говорит то, что мы используем 4-ю (цифра 4 в &quot;tokens=<strong>4</strong>*&quot;) и все оставшиеся в строке символы (*, астериск в &quot;tokens=4<strong>*</strong>&quot;) в качестве содержимого переменной %%a.<br />Из строки:<br /></p><div class="codebox"><pre><code>
            New File                   2        9.p1
</code></pre></div><p>В переменную %%a попадёт:<br /></p><div class="codebox"><pre><code>
9.p1
</code></pre></div><p>Подробнее вбивайте <strong>for /?</strong> в консоли и медитируйте.</p><div class="quotebox"><blockquote><p>Сделаем проще скажите как сделать проста зависимость батников например</p></blockquote></div><p>Что такое зависимость? Что вы понимаете под зависимостью?<br /></p><div class="quotebox"><blockquote><p>копирование в D:\qwe тока однократный?</p></blockquote></div><p>Всмысле однократный? - копируются всё, чего в конечной папки нет.</p>]]></content>
			<author>
				<name><![CDATA[UNDYING]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27822</uri>
			</author>
			<updated>2013-08-21T03:46:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74799#p74799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74798#p74798" />
			<content type="html"><![CDATA[<p>Сделаем проще скажите как сделать проста зависимость батников например <br />если он сделан</p><div class="codebox"><pre><code>@echo off
:loop
set first=D:\q
set a=D:\qwe
set b=D:\qwer
for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%a%\%%i&quot;
goto loop
exit</code></pre></div><p>то тогда тока </p><div class="codebox"><pre><code>@echo off
:loop
set &quot;first=D:\q&quot;
set &quot;second=D:\qwe&quot;
set &quot;third=D:\qwer&quot;
for /f &quot;tokens=4*&quot; %%a in (&#039;robocopy %first% %third% *.p1 /mir /np ^| find /i &quot;new file&quot;&#039;) do (copy /y %first%\%%a %second%\)
goto loop
exit</code></pre></div><p>будет сделан <br />и по кругу</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T03:34:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74798#p74798</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74797#p74797" />
			<content type="html"><![CDATA[<p>Можно ли сделать из строки<br />for /f &quot;tokens=4*&quot; %%a in (&#039;robocopy %first% %third% *.p1 /mir /np ^| find /i &quot;new file&quot;&#039;) do (copy /y %first%\%%a %second%\)<br />копирование в D:\qwe тока однократный?</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T03:13:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74797#p74797</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74796#p74796" />
			<content type="html"><![CDATA[<p>Момент я чёт не догоню смотрите<br />во первых <br /> не понял с for /f &quot;tokens=4*&quot;&nbsp; но переменные действуют тока через %%а<br />во вторых<br /> (&#039;robocopy %first% %third% *.p1 /mir /np ^| find /i &quot;new file&quot;&#039;) эта я так понял синхронизация D:\q и D:\qwer<br />через (robocopy) но эти два каталога у меня и так идеальна проходили.<br />а вот с (copy /y %first%\%a %second%\) я чёт не понял можно подробней. Это копирования с параметром /y из D:\q в D:\qwe переменной %а?<br />или я ошибаюсь&nbsp; <br />так и функция for /f &quot;tokens=4*&quot; должна каким то образом регулировать копирование так?</p><p>Можно объяснить на пальцах я проста не разу не сталкивался с токином.</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T03:09:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74796#p74796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74795#p74795" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>GRAF пишет:</cite><blockquote><p>так понятней))</p></blockquote></div><p>Не особо, но нужные моменты, я, надеюсь, понял<br /></p><div class="codebox"><pre><code>
@echo off
:loop
set &quot;first=D:\q&quot;
set &quot;second=D:\qwe&quot;
set &quot;third=D:\qwer&quot;
for /f &quot;tokens=4*&quot; %a in (&#039;robocopy %first% %third% *.p1 /mir /np ^| find /i &quot;new file&quot;&#039;) do (copy /y %first%\%a %second%\)
goto loop
exit
</code></pre></div><p>Если возникнут проблемы с пробелами в именах, то поизучайте справку к <strong>for</strong>, конкретно данный момент:<br /></p><div class="quotebox"><blockquote><p>for /f <strong>&quot;tokens=4*&quot;</strong> ...</p></blockquote></div><p>И ещё -&nbsp; <strong>robocopy</strong> нет в Windows XP и 2003 по умолчанию.</p>]]></content>
			<author>
				<name><![CDATA[UNDYING]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27822</uri>
			</author>
			<updated>2013-08-21T02:31:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74795#p74795</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74794#p74794" />
			<content type="html"><![CDATA[<p>Я так понял проста батник зависает на строчки <br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;,<br />а можно как то сделать приоритет выполнения то есть если<br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%a%\%%i&quot;&nbsp; выполнено то тока тогда делает <br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T02:10:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74794#p74794</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74793#p74793" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>GRAF пишет:</cite><blockquote><p>Суть скреп та была в следующем есть 1 папка (D:\q) &quot;условна&quot; в ней группа файлов в кол во где то около 1.5 к<br />её нужна зеркалом вынести в (D:\qwer) причём в случаи удаления файлов в D:\qwer они должны авто восстановиться.<br />А в D:\qwe должен скинуться самый свежей файл который в свою очередь будет удалён в дальнейшем. </p><p>И того в папке&nbsp; D:\qwe должен быть всегда тока самые свежие файлы и в случае их удаления не должны восстанавливаться из D:\q, а D:\qwer должно быть зеркалом для сравнения. Может есть приложения по другому написать данное действия. </p><p>Проста у меня идей уже нет))</p></blockquote></div><p>Пожалуйста, исправьте грамматические и пунктуационные ошибки - <span class="bbu">я ничерта не понял</span>.</p>]]></content>
			<author>
				<name><![CDATA[UNDYING]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27822</uri>
			</author>
			<updated>2013-08-21T02:03:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74793#p74793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74791#p74791" />
			<content type="html"><![CDATA[<p>Суть скрипта была в следующем есть 1 папка (D:\q) условна&quot; в ней группа файлов в количестве 1.5 тысяч<br />её нужно зеркалом вынести в (D:\qwer) причём в случаи удаления файлов в D:\qwer они должны авто восстановиться.<br />А в D:\qwe должен скинуться самый свежей файл, который в свою очередь будет удалён в дальнейшем. <br />И того в папке&nbsp; (D:\qwe) должен быть всегда тока самые свежие файлы, а D:\qwer должно быть зеркалом для сравнения.</p><p>так понятней))</p>]]></content>
			<author>
				<name><![CDATA[GRAF]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30499</uri>
			</author>
			<updated>2013-08-21T01:48:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74791#p74791</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Копирование последних файлов и удаление их в последствие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74790#p74790" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>GRAF пишет:</cite><blockquote><p>... в чём может быть проблема.</p></blockquote></div><p>Видимо в том, что проверка на существование файла производится не совсем корректно:<br /></p><div class="quotebox"><blockquote><p><em><strong>set &quot;a=D:\qwe&quot;<br />set &quot;b=D:\qwer&quot;</strong></em><br />for %%i in (*.P1) do if not exist &quot;<em><strong>%b%</strong></em>\%%i&quot; copy &quot;%%i&quot; &quot;<em><strong>%a%</strong></em>\%%i&quot;<br />for %%i in (*.P1) do if not exist &quot;%b%\%%i&quot; copy &quot;%%i&quot; &quot;%b%\%%i&quot;</p></blockquote></div><p>Попытайтесь словами описать действия скрипта:<br />если файла <em><strong>C:\1.txt</strong></em> нет в корне диска <em><strong>E:\</strong></em> то копирую <em><strong>C:\1.txt</strong></em> в <em><strong>D:\1.txt</strong></em><br />если файла <em><strong>C:\1.txt</strong></em> нет в корне диска <em><strong>E:\</strong></em> то копирую <em><strong>C:\1.txt</strong></em> в <em><strong>E:\1.txt</strong></em></p><p>По существу есть вопросы:<br />1. Папка <strong>D:\qwe</strong> <span class="bbu">полностью соответствует по содержимому</span> папке <strong>D:\qwer</strong>?<br />2. В папку <strong>D:\q</strong> только добавляются файлы?</p><p>Т.е. в конце работы скрипта содержимое всех 3-х папок одинаково? Или нет?</p>]]></content>
			<author>
				<name><![CDATA[UNDYING]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27822</uri>
			</author>
			<updated>2013-08-21T01:38:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74790#p74790</id>
		</entry>
</feed>
