Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] редактирование и сохранение txt файлов (http://forum.oszone.net/showthread.php?t=258344)

Xeruvim4ik 11-04-2013 00:52 2130131

редактирование и сохранение txt файлов
 
всем привет. помогите с юзеру с батником) Задача: есть файл со списком номеров. Нужно брать из него номер и вставлять в другой файл с текстом вместо слова 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 2130153

Цитата:

Цитата Xeruvim4ik
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 2130165

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

DesmondTruman 11-04-2013 16:37 2130467

Xeruvim4ik,
Напишите примерное содержимое nomer.txt и karta.txt.

Xeruvim4ik 11-04-2013 17:06 2130491

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
    )
)

Тему можно закрывать.


Время: 06:32.

Время: 06:32.
© OSzone.net 2001-