|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Имя файла из строки копируемого файла. |
|
CMD/BAT - [решено] Имя файла из строки копируемого файла.
|
Новый участник Сообщения: 41 |
Подскажите пожалуйста, можно переименовать все копируемые файлы из директории, чтобы их имена соответствовали тексту содерж. в них самих во второй строке с 10 по 15 знак.
|
|
Отправлено: 23:14, 24-08-2010 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать gora,
спасибо, да так действительно попроще, а вот "нововведение" про чтение с 25-го символа я незаметил... |
Отправлено: 21:13, 25-08-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата deepred:
|
|
Отправлено: 21:17, 25-08-2010 | #12 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать gora,
да-да, но опять таки - можно было ориентироваться на < "tokens=2 delims=/" > |
Отправлено: 21:48, 25-08-2010 | #13 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Всем спасибо! Все работает отлично.
|
Отправлено: 22:08, 25-08-2010 | #14 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Echo on & Chcp 1251 Setlocal EnabledelayedExpansion Set "$SRS=F:\probe\переименование\001\" & rem папка источник Set "$DST=F:\probe\переименование\002\" & rem папка приемник Cd %$SRS% For /f %%a in ('Dir /b %$SRS%') Do call :RNCOPY "%%a" goto :EOF :RNCOPY For /f "skip=1 tokens=*" %%b in (%$SRS%%~1) Do ( Set $nm=%%b Set $nm=!$nm:~24,4! Copy "%$SRS%%~1" "%$DST%!$nm!%~x1" goto :Eof ) Надо чтобы имя получилось "от 20 июня 2010 г._Dt3522_100211.txt", т.е. вторая строка с 17символа(18)&"_Dt"&шестая строка c 48 символа(4)&"_"&первая строка с 39 символа(6). |
Отправлено: 22:11, 04-10-2010 | #15 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Seryoga204, сделано по, предоставленному Вами, образцу файла
@Echo Off & Chcp 1251>Nul Setlocal EnabledelayedExpansion Set "$SRS=F:\probe\переименование\001\" & rem папка источник Set "$DST=F:\probe\переименование\002\" & rem папка приемник Cd %$SRS% For /f %%a in ('Dir /b %$SRS%') Do call :RNCOPY "%%a" goto :EOF :RNCOPY Set cnt=0 For /f "tokens=* delims=" %%b in (%$SRS%%~1) Do ( Set /a cnt+=1 Set $nm=%%b If !cnt!==1 Set $lin!cnt!=!$nm:~38,6! If !cnt!==2 Set $lin!cnt!=!$nm:~17,18! If !cnt!==3 Set $lin!cnt!=!$nm:~43,4! ) Copy "%$SRS%%~1" "%$DST%!$lin2!_Dt!$lin3!_!$lin1!%~x1">Nul goto :Eof |
Отправлено: 09:48, 05-10-2010 | #16 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать gora,
Спасибо большое! |
Последний раз редактировалось Seryoga204, 05-10-2010 в 20:41. Отправлено: 20:14, 05-10-2010 | #17 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста, использую код
Echo on & Chcp 1251 Setlocal EnabledelayedExpansion Set "$SRS=F:\probe\переименование\001\" & rem папка источник Set "$DST=F:\probe\переименование\002\" & rem папка приемник Cd %$SRS% For /f %%a in ('Dir /b %$SRS%') Do call :RNCOPY "%%a" goto :EOF :RNCOPY For /f "skip=1 tokens=*" %%b in (%$SRS%%~1) Do ( Set $nm=%%b Set $nm=!$nm:~24,10! Copy "%$SRS%%~1" "%$DST%!$nm!%~x1" goto :Eof ) |
Отправлено: 23:31, 07-03-2011 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать AlexVong, попробовать дополнительно воспользоваться заменой «set VarY=%VarX:/=-%»?!
Цитата set /?:
|
|
Отправлено: 03:11, 08-03-2011 | #19 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать А как сделать чтобы это имя выводилось на экран? Типа "скопирован файл за sName"
|
Отправлено: 19:41, 16-03-2011 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Полное имя файла | 007 | Microsoft Windows 7 | 12 | 18-11-2009 09:25 | |
Интерфейс - Не обрезать имя файла | slfly | Microsoft Windows 2000/XP | 1 | 01-11-2009 12:17 | |
[решено] Удаление строки из файла | gregaz | AutoIt | 2 | 16-07-2009 18:46 | |
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 13-05-2009 13:28 | |
Интернет - [решено] Не могу сохранить имя файла | Chelovek16 | Microsoft Windows 2000/XP | 2 | 13-07-2008 12:01 |
|