|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование файла и переименование согласно списка из exel |
|
CMD/BAT - Копирование файла и переименование согласно списка из exel
|
Новый участник Сообщения: 3 |
Стоит задача:
Имеем 2 файла картинка.jpg файл.xls - в файле имеем список id формата 546738 Необходимо копировать файл картинка.jpg и переименовывать его p546738-0mw.jpg то количество раз сколько id в фале файл.xls |
|
Отправлено: 13:25, 31-05-2016 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать TPOJIb_55, куда копировать и почему надо переименовывать, не проще ли копировать с новым именем? Как расположен список ID В XLS файле. ИМХО, ваш вопрос не совсем в тему cmd/bat. Почему бы не написать в файл.xls макрос, который выполнит эту задачу?
|
------- Отправлено: 14:37, 31-05-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать megaloman, Файлы в одной папке и необходимо в эту же папку сложить тоже количество файлов что и id в файле. Файлы могут меняться, и в содержание "файл.xls" меняется список id. С макросами вообще не дружу, поэтому не знаю как это реализовать и отработает ли он если необходимо создать 1000 файлов по списку. В файле список в колонку.
|
Отправлено: 15:38, 31-05-2016 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Вот vbs-скрипт с решением Вашей задачи.
Book = "файл.xls" NFile = "картинка.jpg" ' Имя размножаемого файла NewPref = "p" ' Префикс нового имени NewSuff = "-0mw" ' Суффикс нового имени First = "A1" ' Верхняя клетка с данными в столбце Where=CreateObject("WScript.Shell").CurrentDirectory+"\" PBook=Where+Book ' MsgBox PBook Set XL = CreateObject("Excel.Application") XL.Visible = False ' True XL.Workbooks.Open PBook PName = Where + NFile Set FSO = CreateObject("Scripting.FileSystemObject") If FSO.FileExists(PName) Then Ext = FSO.GetExtensionName(PName) i = 0 With XL.Range(First) Do RR = CStr(.Offset(i, 0)) If Len(Trim(CStr(.Offset(i, 0)))) = 0 Then Exit Do i = i + 1 aaa = FSO.CopyFile(PName, Where + "\" + NewPref + RR + NewSuff + "." + Ext, True) Loop MsgBox "Файл" + vbCrLf + PName + vbCrLf + "скопирован " + CStr(i) + " раз" End With Else MsgBox "Файл" + vbCrLf + PName + vbCrLf + "не найден" End If XL.Quit Во вложенном файле присутствует таблица с примером использования макроса. Открываете таблицу, Меню - Сервис - Макросы - Макрос назвал rrr, изменяете его: пИшите реальные имена файлов и указываете начальную клетку. Сохраняете, запускаете на выполнение. |
------- Отправлено: 21:21, 31-05-2016 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать megaloman, Огромное вам спасибо! Все работает как часы!
|
|
Отправлено: 09:28, 01-06-2016 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Копирование файла, производимое определенное кол-во раз и переименование копий | Metallor | Скриптовые языки администрирования Windows | 2 | 04-01-2016 16:26 | |
CMD/BAT - Переименование файлов из списка *.txt | IntuitOS | Скриптовые языки администрирования Windows | 12 | 30-03-2013 10:36 | |
CMD/BAT - [решено] Копирование и переименование файла по особой маске | DARK-Silver666 | Скриптовые языки администрирования Windows | 5 | 20-12-2012 21:22 | |
CMD/BAT - [решено] Копирование файлов из списка | dima05605 | Скриптовые языки администрирования Windows | 2 | 05-09-2012 17:48 | |
CMD/BAT - [решено] Переименование файла по данным из самого файла | dark-------13 | Скриптовые языки администрирования Windows | 11 | 21-04-2011 18:08 |
|