Войти

Показать полную графическую версию : [решено] редактирование и сохранение txt файлов


Xeruvim4ik
11-04-2013, 00:52
всем привет. помогите с юзеру с батником) Задача: есть файл со списком номеров. Нужно брать из него номер и вставлять в другой файл с текстом вместо слова inv_cod и после этого сохранить результат в новый файл. Написал вот это:

setlocal enableextensions enabledelayedexpansion
set n=inv_cod
for /f "tokens=1 " %%a in (c:\install\script\nomer.txt) do (
set cod=%%a
for /f "tokens=* " %%i in (c:\install\script\karta.txt) do (
set stroka=%%i
set newstroka=!stroka:%n%=%cod%!
echo !newstroka! >> %cod%.txt
)
)
в итоге вместо того чтобы создавать каждый раз новый файл %cod%.txt у меня все пишется в один. Помогите исправить.

DesmondTruman
11-04-2013, 02:28
setlocal enableextensions enabledelayedexpansion
set n=inv_cod
for /f "tokens=1 " %%a in (c:\install\script\nomer.txt) do (
set cod=%%a
for /f "tokens=* " %%i in (c:\install\script\karta.txt) do (
set stroka=%%i
set newstroka=!stroka:%n%=%cod%!
echo !newstroka! >> !cod!.txt
)
) »

Xeruvim4ik
11-04-2013, 06:25
DesmondTruman,
круто!:) работает, спасибо!
но появилась другая проблема. Во всех полученных файлах стоит последний код из списка. Точнее проблема и была, но я списывал это на запись в один файл.

DesmondTruman
11-04-2013, 16:37
Xeruvim4ik,
Напишите примерное содержимое nomer.txt и karta.txt.

Xeruvim4ik
11-04-2013, 17:06
DesmondTruman, Все, спасибо! Разобрался. Заработало вот так:

setlocal enableextensions enabledelayedexpansion
set n=inv_cod
set cod=%%a
for /f "tokens=1 " %%a in (c:\install\script\nomer.txt) do (
for /f "tokens=* " %%i in (c:\install\script\karta.txt) do (
set stroka=%%i
set newstroka=!stroka:%n%=%cod%!
echo !newstroka! >> %cod%.txt
)
)
Тему можно закрывать.




© OSzone.net 2001-2012