<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7995&amp;type=atom" />
	<updated>2013-01-21T12:23:06Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=7995</id>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68754#p68754" />
			<content type="html"><![CDATA[<p>Команда DIR (вывод списка файлов) что-то возвращает?<br /></p><div class="codebox"><pre><code>DIR &quot;\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml&quot;
Pause
</code></pre></div><p>В принципе для копирования одного единственного файла, путь к которому Вы знаете и он не меняется, цикл FOR и не нужен, достаточного одного XCOPY.</p><p>Нужно для начала командой DIR (см.выше) убедиться, что доступ к шаре на чтение таки есть. <br />Потом убедиться, что есть права на запись, например, командой создания текстового файла:<br /></p><div class="codebox"><pre><code>
Echo test-test-test &gt; &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\_test.txt&quot;
DIR &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\_test.txt&quot;
Pause
</code></pre></div><p>Потом уже пробовать копировать (подправил ключи: /U - был ошибочный, /H /R - копирование и системных файлов и с аттрибутом &quot;только чтение&quot;):<br /></p><div class="codebox"><pre><code>
xcopy &quot;\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml&quot; &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\*.*&quot; /D /Y /Z /H /R
Echo.
Pause</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2013-01-21T12:23:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68754#p68754</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68753#p68753" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>Попробуйте так:<br /></p><div class="codebox"><pre><code>
xcopy &quot;\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml&quot; &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers&quot; /D /Y /U /Z
Echo.
Pause
</code></pre></div></blockquote></div><p>Не получаеться! <br />Делаю батник <br /></p><div class="codebox"><pre><code>@echo off 
xcopy &quot;\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml&quot; &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers&quot; /D /Y /U /Z
Echo.
Pause</code></pre></div><p>Пишет что скопировано файлов : 0.</p><p>Или же нужно в этом батнике :<br /></p><div class="codebox"><pre><code>@echo off
set sourcedir=\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\
set destdir=\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\
for /F &quot;usebackq tokens=1-5,* delims=. &quot; %%i in (`dir %sourcedir%\*.kml /O:D /A:-D^) do (
xcopy \\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml \\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\Data.kml /u /y /h /z
)</code></pre></div><p>Добавлять заместо:<br /></p><div class="codebox"><pre><code>xcopy \\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml \\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\Data.kml /u /y /h /z</code></pre></div><p>Но тут тоже ошибка, ничего не происходит.<br />Наверное ошибка в синтаксисе For. Но я честно говоря не понимаю что там нужно изменить.<br />Пробовал еще копировать с сетевого пути \\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\ на жесткий диск компьютера, на котором работал, тоже без успешно.</p>]]></content>
			<author>
				<name><![CDATA[m.aleksey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29462</uri>
			</author>
			<updated>2013-01-21T11:19:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68753#p68753</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68751#p68751" />
			<content type="html"><![CDATA[<p>Попробуйте так:<br /></p><div class="codebox"><pre><code>
xcopy &quot;\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml&quot; &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers&quot; /D /Y /U /Z
Echo.
Pause
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2013-01-21T11:00:28Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68751#p68751</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68750#p68750" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>@echo off 
 xcopy/u/y/v/e/h/r/d/z &quot;\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\&quot; &quot;\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\&quot;
 echo РЕЗЕРВИРОВАНИЕ УСПЕШНО ЗАВЕРШЕНО 
 pause</code></pre></div><p>Попробовал простое копирование, при запуске пишет что скопировано файлов 0.<br />И просит нажать любою клавишу для закрытия.<br />У меня опускаються руки.... Помогите...</p>]]></content>
			<author>
				<name><![CDATA[m.aleksey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29462</uri>
			</author>
			<updated>2013-01-21T10:12:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68750#p68750</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68749#p68749" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><div class="quotebox"><cite>m.aleksey пишет:</cite><blockquote><div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p><span style="color: green"><strong>m.aleksey</strong>, предложения начинаются с заглавной буквы и заканчиваются точкой. Исправьте ошибки.</span></p></blockquote></div><p>Вроде все исправил. А вы не подскажите как решить мне описанную выше проблему?</p></blockquote></div><p><span style="color: green">Почти всё. Остальное я исправил. Если всё так туго, пользуйтесь проверкой правописания в браузере или текстовом редакторе.</span></p></blockquote></div><p>Я извиняюсь за ошибки, пишу на скорую руку.</p>]]></content>
			<author>
				<name><![CDATA[m.aleksey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29462</uri>
			</author>
			<updated>2013-01-21T09:09:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68749#p68749</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68748#p68748" />
			<content type="html"><![CDATA[<p>Я не силен в программировании, тем более .bat или .js, но я единственный из офиса, кто с чужой помощью сможет это сделать.<br /></p><div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><div class="quotebox"><cite>m.aleksey пишет:</cite><blockquote><p>[..]<br />Еще момент такой, файл в корневой папке из которого мы его копируем всегда один, но он изменяйться по дате, то есть нам надо чтобы он менялся на более свежий <br />[..]</p></blockquote></div><p>Почитайте хелп к команде &quot;XCOPY&quot;. Заменив ею команду &quot;COPY&quot; можно воспользоваться параметром, указывающим что копировать нужно только более новые файлы.<br /></p><div class="codebox"><pre><code>xcopy /?</code></pre></div></blockquote></div><p>То есть если я правильно понял, мне нужно эти 2 строчки кода : <br /></p><div class="codebox"><pre><code>if not exist %destdir%\%%j.%%k md %destdir%\%%j.%%k
copy /y %sourcedir%\%%n %destdir%\%%j.%%k\</code></pre></div><p>Заменить на:<br /></p><div class="codebox"><pre><code>xcopy \\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml \\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\Data.kml /u /y /h /z</code></pre></div><p>\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml - Это путь, в котором лежит файл, который нужно заменить по этому пути \\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\Data.kml</p><p>То есть код в конечном итоге получаеться такой:<br /></p><div class="codebox"><pre><code>@echo off
set sourcedir=\\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\
set destdir=\\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\
for /F &quot;usebackq tokens=1-5,* delims=. &quot; %%i in (`dir %sourcedir%\*.kml /O:D /A:-D^) do (xcopy \\LIDER18-NOTE\Users\lider18\AppData\Roaming\Grym\MyLayers\Data.kml \\LIDER16-NOTE\\Users\lider16\AppData\Roaming\Grym\MyLayers\Data.kml /u /y /h /z)</code></pre></div><p>Если есть ошибка, помогите исправить и если не затруднит весь код с описанием.<br />И как можно привязать открытие файла с расширением .exe в этот код. То есть чтобы он скачало заменял файлы, а потом открывал саму программу с уже обновленной базой.<br />Заранее спасибо!</p>]]></content>
			<author>
				<name><![CDATA[m.aleksey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29462</uri>
			</author>
			<updated>2013-01-21T08:58:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68748#p68748</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68747#p68747" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>m.aleksey пишет:</cite><blockquote><div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p><span style="color: green"><strong>m.aleksey</strong>, предложения начинаются с заглавной буквы и заканчиваются точкой. Исправьте ошибки.</span></p></blockquote></div><p>Вроде все исправил. А вы не подскажите как решить мне описанную выше проблему?</p></blockquote></div><p><span style="color: green">Почти всё. Остальное я исправил. Если всё так туго, пользуйтесь проверкой правописания в браузере или текстовом редакторе.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2013-01-21T08:32:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68747#p68747</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68745#p68745" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>m.aleksey пишет:</cite><blockquote><p>[..]<br />в предыдущих темах много прочитал и нашел один батник, он работает, проверял, но не могу разобраться как убрать то, чтобы он не создавал папки по дате и не копировал файлы по папкам с датой.<br />[..]</p></blockquote></div><p>В этой строке команда &quot;MD &lt;имя_новой_папки&gt;&quot;<br /></p><div class="codebox"><pre><code>
if not exist %destdir%\%%j.%%k md %destdir%\%%j.%%k
</code></pre></div><p> - создает ненужный Вам каталог <span class="bbu">&quot;%%j.%%k</span>&quot;, т.е. ее по идее надо просто закомментарить/выбросить.</p><p>А в следующей строке - копирование идет не в желаемую Вами папку, а в созданный ненужный подкаталог, т.е. по идее Вам надо укоротить второй параметр - папку назначения...<br /></p><div class="codebox"><pre><code>copy /y %sourcedir%\%%n %destdir%\%%j.%%k\
</code></pre></div><br /><div class="quotebox"><cite>m.aleksey пишет:</cite><blockquote><p>[..]<br />Еще момент такой, файл в корневой папке из которого мы его копируем всегда один, но он изменяйться по дате, то есть нам надо чтобы он менялся на более свежий <br />[..]</p></blockquote></div><p>Почитайте хелп к команде &quot;XCOPY&quot;. Заменив ею команду &quot;COPY&quot; можно воспользоваться параметром, указывающим что копировать нужно только более новые файлы.<br /></p><div class="codebox"><pre><code>xcopy /?</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2013-01-21T08:14:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68745#p68745</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68744#p68744" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p><span style="color: green"><strong>m.aleksey</strong>, предложения начинаются с заглавной буквы и заканчиваются точкой. Исправьте ошибки.</span></p></blockquote></div><p>Вроде все исправил. А вы не подскажите как решить мне описанную выше проблему?</p>]]></content>
			<author>
				<name><![CDATA[m.aleksey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29462</uri>
			</author>
			<updated>2013-01-21T08:09:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68744#p68744</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68743#p68743" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>m.aleksey</strong>, предложения начинаются с заглавной буквы и заканчиваются точкой. Исправьте ошибки.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2013-01-21T07:55:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68743#p68743</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JS/BAT: Копирование файла из одной папки в другую с заменой]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68742#p68742" />
			<content type="html"><![CDATA[<p>В<span style="color: red">о</span>бщем проблема следующая.<br />Нужен батник или .js<span style="color: red">,</span> который будет брать файл из под сети с определенного компьютера и копировать на ко<span style="color: red">мпь</span>ютер<span style="color: red">,</span> с которого мы его запускаем в указанный нам путь.<br />В предыдущих темах много прочитал и нашел один батник, он работает, проверял, но не могу разобраться<span style="color: red">,</span> как убрать то, чтобы он не создавал папки по дате и не копировал файлы по папкам с датой.<br />Вот батник:<br /></p><div class="codebox"><pre><code>@echo off
set sourcedir=C:\1
set destdir=K:\1
for /F &quot;usebackq tokens=1-5,* delims=. &quot; %%i in (`dir %sourcedir%\Data*.kml /O:D /A:-D^|findstr /R &quot;\Data.*\.kml$&quot;`) do (
if not exist %destdir%\%%j.%%k md %destdir%\%%j.%%k
copy /y %sourcedir%\%%n %destdir%\%%j.%%k\
)
</code></pre></div><p>Взят из темы: <a href="http://forum.script-coding.com/viewtopic.php?id=5297">http://forum.script-coding.com/viewtopic.php?id=5297</a><br />А мне просто нужно<span style="color: red">,</span> чтобы он скопировал файл с set sourcedir=*** в set destdir=***, в коде уже изменил расширение файла, в исходники с темы они копировали файл с расширение .txt, а у меня файл .kml. <br />Еще момент такой, файл в корневой папке<span style="color: red">,</span> из которого мы его копируем<span style="color: red">,</span> всегда один, но он изменя<span style="color: red">ет</span>ся по дате, то есть нам надо чтобы он менялся на более свежий, но в принципе можно фильтрации по дате избежать, используя обычную замену файла. Еще главное чтобы в батнике было прописано подтверждение замены. Т. к. этот батник будет в автозагрузке лежать и пользователи не должны знать о его существовании. <br />И еще вопрос. Есть ли возможность сделать этот батник типо .exe, чтобы &quot;обмануть&quot; пользователей. Для чего это нужно. Админы мне сказали<span style="color: red">,</span> что батник должен запускаться через минуту после входа в систему, т. к. устанавливаю<span style="color: red">тся</span> права уч. записи. Т. е. если я кину его в автозагрузку<span style="color: red">,</span> у меня он работать не будет. Можно ли указать в батнике временной интервал его запуска. или же про<span style="color: red">щ</span>е сделать батник с<span style="color: red">о</span> встроенной командой на открытие приложение.<br />То есть люди не будут знать что это батник, а будут открывать программу (будет изменён знач<span style="color: red">о</span>к ярлыка и имя)<span style="color: red">,</span> а у них будет происходить сначал<span style="color: red">а</span> копирование, а потом открываться программа. <span style="color: red">Э</span>тот вариант впринц<span style="color: red">и</span>пе наиболее оптимальный.<br />Заранее спасибо!</p>]]></content>
			<author>
				<name><![CDATA[m.aleksey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29462</uri>
			</author>
			<updated>2013-01-21T07:38:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68742#p68742</id>
		</entry>
</feed>
