Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - Необходимо заменять известную часть файла на значение переменной

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


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

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


Имеется файл users.txt, в нем на каждой строчке указан только номер телефона (11 символов на каждой строке). Я создаю цикл и при каждом проходе цикла:
1. меняется значение переменной %%a, которое равно значению строчки из файла users.txt
2. создается каталог с именем равным значению переменной %%a
3. копируется в созданный каталог известный мне файл (при копировании переименовывается имя, добавляет префикс равный значению %%a).
Ниже привожу используемый мною код:

Код: Выделить весь код
echo off
set /a a=0
for /f "tokens=*" %%a in (users.txt) do (
 set /a a=a+1
 md %%a
 COPY servers_correct_new.bat %%a\%%a_servers_correct_new.bat
)
Скопированный файл %%a_servers_correct_new.bat большой, в нем 67 строк. Посередине 17й строки в данном файле имеется следующий текст "01234567890". Данный текст мне необходимо заменить на значение переменной %%a , и сохранить эти изменения в моем файле. Подскажите, пожалуйста, как это сделать. В распоряжении у меня есть только CMD без каких-либо дополнительных скачиваемых утилит.

Отправлено: 18:15, 05-08-2015

 

Ветеран


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

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


Цитата Ingvar2:
Скопированный файл %%a_servers_correct_new.bat большой, в нем 67 строк. Посередине 17й строки в данном файле имеется следующий текст "01234567890". Данный текст мне необходимо заменить на значение переменной %%a , и сохранить эти изменения в моем файле. Подскажите, пожалуйста, как это сделать. »
Вы можете, например, не копировать файл «servers_correct_new.bat»:
Код: Выделить весь код
COPY servers_correct_new.bat %%a\%%a_servers_correct_new.bat
а создавать его, указывая в нужном месте значение переменной:
Код: Выделить весь код
>"%%a\%%a_servers_correct_new.bat" (
    echo bla-bla-bla1
    echo bla-bla-bla2
    …
    echo Начало строки 17 %%a Окончание строки 17
    echo bla-bla-bla18
    …
    echo bla-bla-bla67
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:19, 06-08-2015 | #2



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

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


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


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

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


Iska, спасибо, ваш ответ мне помог, от COPY я действительно, реализовал следующим образом:
1. Разбил файл servers_correct_new.bat на два: s1_16.bat (содержит строки с первой по 16 из servers_correct_new.bat) и s8_70.bat (содержит строки с 18й по 70 из servers_correct_new.bat).
2. Отдельно создаю 17ю строку с указанием переменной в нужном месте.
3. Записываю все три составляющие в конечный файл.
В итоге мой код выглядит вот так:
Код: Выделить весь код
echo off
set /a a=0
for /f "tokens=*" %%a in (users.txt) do (
 set /a a=a+1
 md %%a
 ECHO texttexttext %%a texttexttext >s17.bat
 COPY s1_16.bat + s17.bat + s18_70.bat %%a\%%a_servers_correct_new.bat
 del s17.bat
)

Последний раз редактировалось Ingvar2, 06-08-2015 в 12:01. Причина: поправлен код


Отправлено: 11:43, 06-08-2015 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Вставить значение переменной в путь к файлу Dedcase Скриптовые языки администрирования Windows 5 11-12-2015 18:14
CMD/BAT - Необходимо переключать значение маркера в цыкле Seroga777 Скриптовые языки администрирования Windows 5 07-11-2012 23:25
Разное - [решено] У переменной System в реестре пустое значение. SANIOK_AV Microsoft Windows 2000/XP 2 31-01-2010 12:50
CMD/BAT - Каким образом задать значение переменной число равное кол-ву папок на диске uptk Скриптовые языки администрирования Windows 4 08-07-2009 19:02
Как извлечь значение из переменной масива, которое не отображалось бы на экране dima1981 Вебмастеру 8 11-11-2008 11:54




 
Переход