Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] For, чтение двух переменных с каждой строки

Пользователь


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

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


Здравствуйте, помогите пожалуйста разобраться с командой For.
К примеру есть names.txt:

Код: Выделить весь код
1980 Петров Иван Петрович
1980 Иванов Петр Иванович
1980 Пупкин Вася Анонимусович
Нужно каждую строку перенаправить в файл "%имя_человека_из_строки%.txt".
Тоесть к примеру Иван.txt с содержимым "1980 Петров Иван Петрович", Петр.txt c "1980 Иванов Петр Иванович" и т.д.
Так и не поняв, как вывести с одной командой for сразу две переменные: полная строка и имя(3-е слово в строке) пошел по другому пути:


Код: Выделить весь код
for /f "tokens=*" %%i in (names.txt) do (for /f "tokens=3  delims= " %%j in (names.txt) do (echo %%i >%%j.txt))
Но и это не помогло.

Отправлено: 21:46, 19-12-2012

 


Moderator


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

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


DesmondTruman, как-то так?
Код: Выделить весь код
@Echo Off
For /F "Tokens=1-4" %%A In (names.txt) Do Echo %%A %%B %%C %%D>>%%C.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:04, 19-12-2012 | #2



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

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


Пользователь


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

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


Petya V4sechkin, Спасибо, это подходит, но только если все строки одинаковой длины (как в данном примере, что кстати мой промах, показал однобокий, простой пример, извиняюсь)

Обновлённый пример с разной длинной строк:
Код: Выделить весь код
1980 Петров Иван Петрович работал в местной школе трудовиком, спился.
1980 Иванов Петр Иванович утверждал о близком контакте 7-го рода с пришельцами, ушёл в секту.
1980 Пупкин Вася Анонимусович после выигрыша в лотерее 1 млн. дол.  обосновал свою компанию со своим блэкджеком и ...

Отправлено: 23:14, 19-12-2012 | #3


Ветеран


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

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


Цитата DesmondTruman:
но только если все строки одинаковой длины »
Вопрос не в длине, а в разделителе, коим у Вас выступает пробел.

Код: Выделить весь код
For /F "Tokens=1-3*" %%A In (names.txt) Do Echo %%A %%B %%C %%D>>%%C.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:26, 20-12-2012 | #4


Пользователь


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

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


Цитата Iska:
Вопрос не в длине, а в разделителе, коим у Вас выступает пробел. »
Это и имелось в виду.
Спасибо, то что надо!

Отправлено: 03:12, 21-12-2012 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Как расчитать сумму для каждой строки массива pashazt Программирование и базы данных 6 21-12-2012 18:20
PowerShell - [решено] цикл для каждой строки из файла rudimko Скриптовые языки администрирования Windows 15 25-10-2012 09:46
Разное - Добавление имени файла в начало каждой строки. CkapHa Программирование и базы данных 2 02-01-2012 22:13
CMD/BAT - [решено] Разобрать txt, на строки и назначить каждой переменную campbell Скриптовые языки администрирования Windows 6 26-11-2011 01:32
.NET - [решено] Определить и записать смещение каждой строки S.T.R.E.L.O.K. Программирование и базы данных 5 15-08-2011 09:55




 
Переход