Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование файла и переименование согласно списка из exel

Ответить
Настройки темы
CMD/BAT - Копирование файла и переименование согласно списка из exel

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Стоит задача:

Имеем 2 файла
картинка.jpg
файл.xls - в файле имеем список id формата 546738

Необходимо копировать файл картинка.jpg и переименовывать его p546738-0mw.jpg то количество раз сколько id в фале файл.xls

Отправлено: 13:25, 31-05-2016

 

Ветеран


Contributor


Сообщения: 2709
Благодарности: 1685

Профиль | Отправить PM | Цитировать


TPOJIb_55, куда копировать и почему надо переименовывать, не проще ли копировать с новым именем? Как расположен список ID В XLS файле. ИМХО, ваш вопрос не совсем в тему cmd/bat. Почему бы не написать в файл.xls макрос, который выполнит эту задачу?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 14:37, 31-05-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, Файлы в одной папке и необходимо в эту же папку сложить тоже количество файлов что и id в файле. Файлы могут меняться, и в содержание "файл.xls" меняется список id. С макросами вообще не дружу, поэтому не знаю как это реализовать и отработает ли он если необходимо создать 1000 файлов по списку. В файле список в колонку.

Отправлено: 15:38, 31-05-2016 | #3


Ветеран


Contributor


Сообщения: 2709
Благодарности: 1685

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar ответы.rar
(17.7 Kb, 11 просмотров)

Вот 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
Скрипт должен быть расположен в той же папке, что картинка.jpg и файл.xls. В тексте скрипта настройте реальные имена файлов и адрес ячейки, с которой начинаются данные в столбце файл.xls.

Во вложенном файле присутствует таблица с примером использования макроса. Открываете таблицу, Меню - Сервис - Макросы - Макрос назвал rrr, изменяете его: пИшите реальные имена файлов и указываете начальную клетку. Сохраняете, запускаете на выполнение.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:21, 31-05-2016 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, Огромное вам спасибо! Все работает как часы!

Отправлено: 09:28, 01-06-2016 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование файла и переименование согласно списка из exel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход