<?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=6758&amp;type=atom" />
	<updated>2012-02-13T07:10:32Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6758</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56731#p56731" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-13T07:10:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56731#p56731</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56655#p56655" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2012-02-10T17:33:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56655#p56655</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56618#p56618" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-10T01:46:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56618#p56618</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56617#p56617" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-10T00:46:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56617#p56617</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56612#p56612" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2012-02-09T19:32:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56612#p56612</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56586#p56586" />
			<content type="html"><![CDATA[<p>Спасибо!<br />В текущий CMD это не &quot;внедрить&quot;.<br />А как написать новый, используя dir /t:c</p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-09T06:29:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56586#p56586</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56583#p56583" />
			<content type="html"><![CDATA[<p>dir /t:c file</p>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2012-02-08T22:31:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56583#p56583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56575#p56575" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>bnp322 пишет:</cite><blockquote><p>как получить время создания файла!?</p></blockquote></div><p>Либо через VBSсript, либо сторонние утилиты заменить время модификации на время создания и потом использовать данный batch файл.</p>]]></content>
			<author>
				<name><![CDATA[yuriy2000]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25753</uri>
			</author>
			<updated>2012-02-08T18:12:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56575#p56575</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56572#p56572" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>bnp322 пишет:</cite><blockquote><p>Спасибо!</p><p>%%~txA&nbsp; &nbsp; - конструкция &quot;дает&quot; время изменения файла, а как получить время создания файла!?</p></blockquote></div><p>ЧЕРЕЗ vbs скрипт можно который создаётся сам из батника</p>]]></content>
			<author>
				<name><![CDATA[roma351234567890]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27553</uri>
			</author>
			<updated>2012-02-08T17:20:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56572#p56572</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56563#p56563" />
			<content type="html"><![CDATA[<p>Спасибо!</p><p>%%~txA&nbsp; &nbsp; - конструкция &quot;дает&quot; время изменения файла, а как получить время создания файла!?</p>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-08T06:38:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56563#p56563</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56537#p56537" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yuriy2000]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25753</uri>
			</author>
			<updated>2012-02-07T14:12:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56537#p56537</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56504#p56504" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-06T14:42:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56504#p56504</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56361#p56361" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yuriy2000]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25753</uri>
			</author>
			<updated>2012-02-03T13:51:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56361#p56361</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56357#p56357" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yuriy2000]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25753</uri>
			</author>
			<updated>2012-02-03T13:09:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56357#p56357</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: переименовать файлы в папке.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56271#p56271" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bnp322]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26392</uri>
			</author>
			<updated>2012-02-01T10:00:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56271#p56271</id>
		</entry>
</feed>
