<?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>https://forum.script-coding.com/viewtopic.php?id=6758</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6758&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: переименовать файлы в папке.».]]></description>
		<lastBuildDate>Mon, 13 Feb 2012 07:10:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56731#p56731</link>
			<description><![CDATA[<p>Спасибо!<br />Все лаконично и работает, использовал конструкцию:</p><div class="codebox"><pre><code>for /f &quot;delims=&quot; %%n in (&#039;dir /b &quot;%folder1%\%mask%&quot;&#039;) do (
    for /f &quot;tokens=1-5 delims=:-/. &quot; %%a in (&#039;dir /t:a &quot;%folder1%\%%n&quot; ^|find &quot; %%n&quot;&#039;) do (
    md &quot;%path%\%%a_!month%%b!&quot; &amp; move &quot;%folder1%\%%n&quot; &quot;%path%%\%%a_!month%%b!\%%d-%%e%%~xn&quot;
  ))</code></pre></div><p>для красоты я бы добавил отбрасывание незначащих нулей числа, и времени переменных %%a и %%d, что-то типа:</p><div class="codebox"><pre><code>If &quot;%%a:~0,1&quot; == &quot;0&quot; Set %%a=%%a:~1,1</code></pre></div><p>Возможно? Не переделывая все!:)</p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Mon, 13 Feb 2012 07:10:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56731#p56731</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56655#p56655</link>
			<description><![CDATA[<div class="codebox"><pre><code>@echo off &amp;chcp 1251 &gt;nul
setlocal enableextensions enabledelayedexpansion

set &quot;folder=Z:\test1\&quot;
set &quot;mask=201???????00??.*&quot;

set &quot;month01=Январь&quot;
set &quot;month02=Февраль&quot;
set &quot;month03=Март&quot;
set &quot;month04=Апрель&quot;
set &quot;month05=Май&quot;
set &quot;month06=Июнь&quot;
set &quot;month07=Июль&quot;
set &quot;month08=Август&quot;
set &quot;month09=Сентябрь&quot;
set &quot;month10=Октябрь&quot;
set &quot;month11=Ноябрь&quot;
set &quot;month12=Декабрь&quot;

for /f &quot;delims=&quot; %%n in (&#039;dir /b &quot;%folder%\%mask%&quot;&#039;) do (
    for /f &quot;tokens=1-4 delims=:-/. &quot; %%a in (&#039;dir /ta &quot;%folder%\%%n&quot; ^|find &quot; %%n&quot;&#039;) do (
        echo ren &quot;%folder%\%%n&quot; &quot;%%a_!month%%b!_%%d-00%%~xn&quot;
    )
)</code></pre></div><p>*м.б. лучше &quot;!month%%b!_%%a__%%d-00%%~xn&quot; ?</p>]]></description>
			<author><![CDATA[null@example.com (!k)]]></author>
			<pubDate>Fri, 10 Feb 2012 17:33:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56655#p56655</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56618#p56618</link>
			<description><![CDATA[<p><img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />&nbsp; Нюанс (если кому будет интересно):<br />Вместо dir /t:с я стал использовать dir /t:a&nbsp; т.к. :<br />1. обычно (у меня!) они (результат команды) равны.<br />2. Если файл &quot;2&quot; является продолжением файла &quot;1&quot; (у меня такое происходит при записи aver media центром и лимите на файл 2 Gb )<br />то у файликов &quot;1&quot; и &quot;2&quot; результат от применения&nbsp; &nbsp; dir /t:с&nbsp; &nbsp;одинаков, а&nbsp; &nbsp; dir /t:a&nbsp; &nbsp;-&nbsp; разный и как раз! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Fri, 10 Feb 2012 01:46:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56618#p56618</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56617#p56617</link>
			<description><![CDATA[<div class="codebox"><pre><code>set &quot;folder=c:\123\&quot;
set &quot;mask=*.mpg&quot;

for /f &quot;delims=&quot; %%n in (&#039;dir /b &quot;%folder%\%mask%&quot;&#039;) do (
    for /f &quot;tokens=1-5 delims=:-/. &quot; %%a in (&#039;dir /t:c &quot;%folder%\%%n&quot; ^|find &quot; %%n&quot;&#039;) do (
       ren &quot;%folder%\%%n&quot; &quot;%%a_%%b_%%d-%%e%%~xn&quot;
))</code></pre></div><p>Ра-бо-та-ет!!! Спасибо большое!!!&nbsp; Я уж начал думать как сиё через vbs (GetDetailsOf) сделать, но до этого было далеко, а вообще задача простая и, я, искренне удивляюсь почему её нет в готовом виде! <br />&nbsp; Это из той же серии - как я пытался автоматизировать загрузку новых файлов с ftp, задача простая, должна быть многим интересна, а в готовом виде не нашел. Тольку усилиями форумчан скрипт получился!</p><p> Последний вопросик!!! Как в такой цикл ввести месяц русскими буквами, в обычном батнике я делал это так </p><div class="codebox"><pre><code>set mymonth=%date:~3,2%
if &quot;%mymonth%&quot; == &quot;01&quot; set mymonth=џ­ў ам
if &quot;%mymonth%&quot; == &quot;02&quot; set mymonth=”Ґўа «м
if &quot;%mymonth%&quot; == &quot;03&quot; set mymonth=Њ ав
if &quot;%mymonth%&quot; == &quot;04&quot; set mymonth=ЂЇаҐ«м
if &quot;%mymonth%&quot; == &quot;05&quot; set mymonth=Њ ©
if &quot;%mymonth%&quot; == &quot;06&quot; set mymonth=?о­м
if &quot;%mymonth%&quot; == &quot;07&quot; set mymonth=?о«м
if &quot;%mymonth%&quot; == &quot;08&quot; set mymonth=ЂўЈгбв
if &quot;%mymonth%&quot; == &quot;09&quot; set mymonth=‘Ґ­впЎам
if &quot;%mymonth%&quot; == &quot;10&quot; set mymonth=ЋЄвпЎам
if &quot;%mymonth%&quot; == &quot;11&quot; set mymonth=Ќ®пЎам
if &quot;%mymonth%&quot; == &quot;12&quot; set mymonth=„ҐЄ Ўам</code></pre></div><p>Куда вставить это в Ваш цикл - затрудняюсь! <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Fri, 10 Feb 2012 00:46:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56617#p56617</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56612#p56612</link>
			<description><![CDATA[<div class="codebox"><pre><code>set &quot;folder=Z:\test1\&quot;
set &quot;mask=201???????00??.*&quot;

for /f &quot;delims=&quot; %%n in (&#039;dir /b &quot;%folder%\%mask%&quot;&#039;) do (
    for /f &quot;tokens=1-4 delims=:-/. &quot; %%a in (&#039;dir /tc &quot;%folder%\%%n&quot; ^|find &quot; %%n&quot;&#039;) do (
        echo ren &quot;%folder%\%%n&quot; &quot;%%a_%%b_%%d-00%%~xn&quot;
    )
)</code></pre></div><p>если всё правильно – убери echo</p>]]></description>
			<author><![CDATA[null@example.com (!k)]]></author>
			<pubDate>Thu, 09 Feb 2012 19:32:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56612#p56612</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56586#p56586</link>
			<description><![CDATA[<p>Спасибо!<br />В текущий CMD это не &quot;внедрить&quot;.<br />А как написать новый, используя dir /t:c</p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Thu, 09 Feb 2012 06:29:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56586#p56586</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56583#p56583</link>
			<description><![CDATA[<p>dir /t:c file</p>]]></description>
			<author><![CDATA[null@example.com (!k)]]></author>
			<pubDate>Wed, 08 Feb 2012 22:31:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56583#p56583</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56575#p56575</link>
			<description><![CDATA[<div class="quotebox"><cite>bnp322 пишет:</cite><blockquote><p>как получить время создания файла!?</p></blockquote></div><p>Либо через VBSсript, либо сторонние утилиты заменить время модификации на время создания и потом использовать данный batch файл.</p>]]></description>
			<author><![CDATA[null@example.com (yuriy2000)]]></author>
			<pubDate>Wed, 08 Feb 2012 18:12:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56575#p56575</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56572#p56572</link>
			<description><![CDATA[<div class="quotebox"><cite>bnp322 пишет:</cite><blockquote><p>Спасибо!</p><p>%%~txA&nbsp; &nbsp; - конструкция &quot;дает&quot; время изменения файла, а как получить время создания файла!?</p></blockquote></div><p>ЧЕРЕЗ vbs скрипт можно который создаётся сам из батника</p>]]></description>
			<author><![CDATA[null@example.com (roma351234567890)]]></author>
			<pubDate>Wed, 08 Feb 2012 17:20:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56572#p56572</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56563#p56563</link>
			<description><![CDATA[<p>Спасибо!</p><p>%%~txA&nbsp; &nbsp; - конструкция &quot;дает&quot; время изменения файла, а как получить время создания файла!?</p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Wed, 08 Feb 2012 06:38:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56563#p56563</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56537#p56537</link>
			<description><![CDATA[<div class="codebox"><pre><code>FOR /F &quot;tokens=1-6,* delims=.: &quot; %%A in (%temp%\files.lst) do (
copy %%G  С:\%%B\%%A%\%%D_00.%%F &amp;&amp; del %%G
)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yuriy2000)]]></author>
			<pubDate>Tue, 07 Feb 2012 14:12:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56537#p56537</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56504#p56504</link>
			<description><![CDATA[<p>Спасибо большое! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Это именно то, что мне нужно (тут используется время создания файлов&nbsp; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> )!!!</p><br /><p>Но это не так!?&nbsp; Справка:</p><p>%~tI Замена %I временем модификации файла, а нужно время создания файлов&nbsp; !!!</p><br /><p>Если не сложно, на будущее, я хотел бы иметь cmd аналогичный предыдущему, но делающий еще перенос этих файлов в папки (переменные из предыдущего файла)&nbsp; вида:</p><div class="codebox"><pre><code>С:\%B%\%A%\%D_00.%%F</code></pre></div><p>Само имя файла только:</p><p> </p><div class="codebox"><pre><code>%D_00.%%F</code></pre></div><p>Не сочтите за наглость! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Mon, 06 Feb 2012 14:42:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56504#p56504</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56361#p56361</link>
			<description><![CDATA[<p>Вот пример - переименует все файлы в папке C:\TEST1\ по дате-времени создания<br /></p><div class="codebox"><pre><code>@echo off
set FOLDER=C:\TEST1\
if exist %temp%\files.lst del %temp%\files.lst
FOR %%A in (%FOLDER%\*.*) do @echo %%~txA &quot;%%A&quot;  &gt;&gt;%temp%\files.lst
FOR /F &quot;tokens=1-6,* delims=.: &quot; %%A in (%temp%\files.lst) do @rename %%G %%A_%%B_%%D_00.%%F
rem %%A - день
rem %%B - месяц
rem %%C - год
rem %%D - час
rem %%E - минуты
rem %%F - расширение файла
rem %%G - имя исходного файла
del %temp%\files.lst</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yuriy2000)]]></author>
			<pubDate>Fri, 03 Feb 2012 13:51:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56361#p56361</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56357#p56357</link>
			<description><![CDATA[<div class="quotebox"><cite>bnp322 пишет:</cite><blockquote><p>Здравствуйте!<br />в папке лежат файлы вида YYYYMMDDHH00XX (два последних символа случайны) их нужно переименовать к виду DD_MM_HH-00<br />если в эту папку записывается новый файл желателен пропуск такого файла.</p></blockquote></div><div class="codebox"><pre><code>rename &quot;X:\Arh\????%date:~3,2%%date:~0,2%%t%00*.mpg&quot; &quot;%file%_00.mpg&quot;</code></pre></div><p>1. Не совсем понятны условия.<br />2. Очевидно, что приведен лишь фрагмент кода<br />3. рекомендую воспользоваться конструкцией типа FOR %F in (YYYYMMDDHH*.mpg) do&nbsp; rename ....<br />YYYY MM&nbsp; DD извлекается из %DATE%<br />HH извлекается из переменной окружения %TIME%, либо из свойства переменной файла (переменной %F)</p><div class="quotebox"><blockquote><p>(%~tF&nbsp; - переменная %F расширяется до даты /времени файла)</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (yuriy2000)]]></author>
			<pubDate>Fri, 03 Feb 2012 13:09:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56357#p56357</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: переименовать файлы в папке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56271#p56271</link>
			<description><![CDATA[<p>Здравствуйте!<br />в папке лежат файлы вида YYYYMMDDHH00XX (два последних символа случайны) их нужно переименовать к виду DD_MM_HH-00<br />если в эту папку записывается новый файл желателен пропуск такого файла.</p><p>я то сделал так:</p><p>rename &quot;X:\Arh\????%date:~3,2%%date:~0,2%%t%00*.mpg&quot; &quot;%file%_00.mpg&quot;</p><p>Но тут большой недостаток - я должен это запускать каждый час, а как сделать сразу все!!!<br />Пропуск файла делаю так - на 59 минуте запускаю получаю необходимые переменные, timeout ~60 сек. и копирование 1 файла из прошлого часа! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><br /><p>Спасибо за готовый ответ!</p>]]></description>
			<author><![CDATA[null@example.com (bnp322)]]></author>
			<pubDate>Wed, 01 Feb 2012 10:00:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56271#p56271</guid>
		</item>
	</channel>
</rss>
