CMD/BAT - [решено] Дописание информации в файл

Ответить
Аватара пользователя
Hardip

CMD/BAT - [решено] Дописание информации в файл

Сообщение Hardip »

Доброе время суток! Есть програмка которая выбирает строки из текстового файла (в нём 2 столбца с числами), и делит их друг на друга. Соответственно выводя результат на экран))



Код:

Код: Выделить всё

@echo off
setlocal enabledelayedexpansion
for /f "TOKENS=1,2*" %%i IN (nt.txt) do (
set /a Size=%%i/%%j  echo !Size!>>nt.txt
)
pause>nul

Вот тут

Код:

Код: Выделить всё

!Size!>>nt.txt

я направляю поделенные цифры для добавления в файл. Но он их записывает сначала просто подставляя к последней строке(было 1 5 - стало например 1 52), а далее в столбик. Хотелось бы чтобы рядом, с этими двумя создавался третий (с пробелом между) с результатом. Заранее благодарю за помощь!
Аватара пользователя
Guest

Re: CMD/BAT - [решено] Дописание информации в файл

Сообщение Guest »

Hardip, возможно, так?



Код:

Код: Выделить всё

@Echo Off
SetLocal EnableDelayedExpansion
For /F "tokens=1,2*" %%i In (nt.txt
) do (
Set /A Size=%%i/%%j
Echo %%i %%j !Size!>>nt.tmp
)
Del nt.txt & Ren nt.tmp nt.txt
Pause>nul
Аватара пользователя
Hardip

Re: CMD/BAT - [решено] Дописание информации в файл

Сообщение Hardip »

Цитата Anonymоus:



Anonymоus
CMD/BAT - [решено] Дописание информации в файл




Да! Именно так! Спасибо огромное! А почему он создает соседний столбец через пробел, объясните пожалуйста!

Код:

Код: Выделить всё

Echo %%i %%j !Size!

И обязательно ли создавать временный, можно сразу писать в новый файл (вроде copy con - создание пустого или както-проще)?
Аватара пользователя
Guest

Re: CMD/BAT - [решено] Дописание информации в файл

Сообщение Guest »

Цитата Hardip:



А почему он создает соседний столбец через пробел
CMD/BAT - [решено] Дописание информации в файл




Потому, что мы построчно записываем в файл переменные i и j, а так же вычисленный результат, разделённые пробелами, т.е. строим новую таблицу взамен дописывания к старой.


Цитата Hardip:



И обязательно ли создавать временный, можно сразу писать в новый файл
CMD/BAT - [решено] Дописание информации в файл




Можно писать и в существующий, но тогда данные опять начнутся с того места, где заканчивается предыдущая строка. Грубо говоря, приходится использовать этот вариант, потому что cmd.exe не умеет дописывать в конец нужной строки, только в конец файла.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»