Цитата RUVATA:
for /f "tokens=*" %%i in (text.txt) do echo i%% & i%% >> new.txt »
|
Переменные нужно записывать правильно, а не абы как.
Код:

for /f "tokens=*" %%i in (text.txt) do echo %%i & echo %%i>> new.txt
Цитата RUVATA:
справка - темный лес... »
|
Да ленитесь Вы читать. ИМХО
Цитаты из справки:
Цитата:
FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры]
...
Набор содержит имена одного или нескольких файлов, которые по очереди открываются, читаются и обрабатываются. Обработка состоит в чтении файла, разбивки его на отдельные строки текста и выделения из каждой строки заданного числа подстрок (в том числе нуля). Затем найденная подстрока используется в качестве значения переменной при выполнении основного тела цикла. По умолчанию ключ /F выделяет из каждой строки файла первое слово, очищенное от окружающих его пробелов. Пустые строки в файле пропускаются.
Необязательный параметры "ключи" служит для переопределения заданных по умолчанию правил обработки строк. Ключи представляют собой заключенную в кавычки строку, содержащую указанные параметры. Ключевые слова:
eol=c - определение символа комментариев в конце строки (допускается задание только одного символа).
skip=n - число пропускаемых при обработке строк в начале файла.
delims=xxx - определение набора разделителей для замены заданных по умолчанию пробела и знака табуляции.
tokens=x,y,m-n - определение номеров подстрок, выделяемых из каждой строки файла и передаваемых для выполнения в тело цикла. При использовании этого ключа создаются дополнительные переменные. Формат m-n представляет собой диапазон подстрок с номерами от m по n. Если последний символ в строке tokens= является звездочкой, создается дополнительная переменная, значением которой будет весь оставшийся текст в строке после обработки последней подстроки.
usebackq - применение новой семантики, при которой строки, заключенные в обратные кавычки, выполняются как команды, строки, заключенные в прямые одиночные кавычки, являются строкой литералов команды, а строки, заключенные в двойные кавычки, используются для выделения имен файлов в списках имен файлов.
Поясняющий пример:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
эта команда обрабатывает файл myfile.txt, пропускает все строки, которые начинаются с символа точки с запятой, и передает вторую и третью подстроки из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или пробелами. В теле цикла переменная %i используется для второй подстроки, %j - для третьей, а %k получает все оставшиеся подстроки после третьей.
|
Цитата RUVATA:
Код:
"tokens=*"- этот параметр определяет, что с каждой строки захватывается только по одному слову. в тандеме со skip(пропуск) и другими - условия чтения. »
|
Это означает, что в переменную цикла (
%%i) будет включена ВСЯ строка целиком.
Цитата RUVATA:
echo i%%- отобразить значение i% на текущем шаге цикла (кстати - где счетчик, где шаг цикла выставляется?) »
|
Выводит в окно консоли значение переменной (
%%i). Счетчика цикла здесь нет (цикл будет повторятся пока не кончится разбор всего файла
text.txt), а шаг - одна строка этого файла. Переменная записана неправильно
Цитата RUVATA:
Код:
& i%% >> new.txt- дописать значение i%% к файлу (new.txt) уже существующему »
|
Почти правильно, только забыли команду
Echo и переменная записана неправильно.