|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Скопировать bat файлы изменив в них текст, взятый их txt документа |
|
Любой язык - Скопировать bat файлы изменив в них текст, взятый их txt документа
|
Ветеран Сообщения: 558 |
Здравствуйте, подскажите, пожалуйста, как решить следующую задачку:
Есть bat файл. Необходимо скопировать его столько раз, сколько строчек содержит файл replace.txt. В каждом новом, копированном bat файле, нужно заменить фразу (которую я укажу), на фразу, которая находится в txt файле replace.txt (каждая фраза для каждого копированного файла с новой строки). Заменять необходимо все фразы, которые нашлись в исходном файле на фразу в строчке файла replace.txt Также необходимо дать имя каждому копированному файлу... его имя нужно также получить из замены... нужно взять оригинальное имя файла и заменить в нем фразу, которую я уже указывал, на ту, которая в тхт файле replace.txt (каждая фраза для каждого копированного файла с новой строки) Пример: Оригинальный файл с содержанием: moy start.bat @echo off setlocal enableextensions enabledelayedexpansion set sSourceFile=start.txt set sDestFile="C:\OneDrive\work\GENERATOR\start.txt" if defined sSourceFile ( В скрипте указываем фразу замены start После выполнения скрипта должны появиться следующие 3 файла со следующим содержимым: moy finish.bat @echo off setlocal enableextensions enabledelayedexpansion set sSourceFile=finish.txt set sDestFile="C:\OneDrive\work\GENERATOR\finish.txt" if defined sSourceFile ( moy red sofa.bat @echo off setlocal enableextensions enabledelayedexpansion set sSourceFile=red sofa.txt set sDestFile="C:\OneDrive\work\GENERATOR\red sofa.txt" if defined sSourceFile ( moy big room.bat @echo off setlocal enableextensions enabledelayedexpansion set sSourceFile=big room.txt set sDestFile="C:\OneDrive\work\GENERATOR\big room.txt" if defined sSourceFile ( ![]() |
|
Отправлено: 07:39, 15-02-2016 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать проще всего так
если нужно именно брать данные из одного файла и подставлять в другой то будет несколько сложнее. Как я понимаю start.bat приведен не полностью, в приведенном куске ничего экранировать не пришлось, посему тут все почти без изменений, но если будут встречаться с теле cmd символы которые echo воспримет как параметр - возникнут грабли. |
Отправлено: 13:20, 15-02-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать спасибо, проверил вариант, работает, надо будет еще на других батах протестировать
![]() |
Отправлено: 14:26, 15-02-2016 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Поиск в html файле ip адресов и копирование их в новый txt. | 666egor666 | Тест-форум | 0 | 30-04-2015 11:31 | |
CMD/BAT - [решено] Переместить txt файлы содержащие определенный текст | Alexander_88 | Скриптовые языки администрирования Windows | 2 | 18-08-2014 14:57 | |
не запускаются файлы txt, bat, | wawe | Тест-форум | 1 | 30-07-2012 16:39 | |
CMD/BAT - Найти все файлы с буквой и скопировать их | trancef | Скриптовые языки администрирования Windows | 1 | 16-12-2011 06:55 | |
CMD/BAT - [решено] Как скопировать файлы, указаные в txt файле | MrLOLs | Скриптовые языки администрирования Windows | 6 | 05-07-2011 23:18 |
|