|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - работа с 2 текстовыми файлами, именами файлов и всё в цикле |
|
CMD/BAT - работа с 2 текстовыми файлами, именами файлов и всё в цикле
|
Пользователь Сообщения: 127 |
И так, у нас есть некоторый текстовый файл-список (list.txt) вот такого формата:
Цитата:
** знак ковычек (") - это непосредственно символ в файле, т.е. при обработке его нужно убрать, т.е. взять значение блаблабла из строки "блаблабла" Этот файл любезно создан командой forfiles которая пометила файлы, старше 3х дней. в кажом из этих файлов имя файла n.log есть строка, которую нужно выдернуть в переменную. Алгоритм должен быть такой: со второй и до предпоследней строки list.txt 1) брать строку из list.txt в переменную FL 2) исключить знаки " из FL (1 и последний символ) 3) из файла с именем из FL взять 2ю строку запутался я что-то с синтаксисом cmd, задача простая на pascal легко программку написать, но не хочется прибегать к нему, а синтаксис cmd для меня дикий... пока что... всем заранее спасибо за помощь! |
||
Отправлено: 13:41, 11-07-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Например, так:
@echo off setlocal enableextensions enabledelayedexpansion for /f "delims==" %%i in (list.txt) do ( call :GetSecondLine "%%~i" echo %%~i: [!SecondLine!] ) endlocal exit /b 0 :GetSecondLine setlocal enableextensions enabledelayedexpansion set sOutName=%~0 if exist "%~1" ( for /f "usebackq skip=1 delims==" %%j in ("%~1") do ( if not defined sResult set sResult=%%j ) ) endlocal & set %sOutName:~4%=%sResult% exit /b |
Отправлено: 00:21, 12-07-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать вопрос: цикл работает перебором по переменной i от 1 до "n" или там просто построчно считывается файл list.txt до тех пор пока не кончатся строки?
забыл учесть, что записи в этом файле имя файла n.log подразумевают, что n - это дата(дд,мм,гг) и время(чч,мм,сс,мс) |
Отправлено: 15:35, 13-07-2012 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать «for /f» разбирает файл построчно, пропуская пустые строки.
Цитата Тишина:
|
|
Отправлено: 15:56, 13-07-2012 | #4 |
Пользователь Сообщения: 127
|
Профиль | Отправить PM | Цитировать В понедельник проверю. По идее не должно влиять!
|
|
Отправлено: 20:26, 15-07-2012 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - Работа с INF-файлами | -devICE- | Наборы обновлений для Windows XP/2003/Windows 7 | 6 | 17-10-2022 01:11 | |
текстовый файл с именами всех файлов в папке | socap | AutoIt | 19 | 19-02-2012 16:42 | |
Интерфейс - Синхронизация файлов с одинаковыми именами но разного размера. | Houre | Microsoft Windows 2000/XP | 5 | 20-09-2011 12:32 | |
Проблема с русскими именами файлов | iml | Общий по Linux | 7 | 25-09-2006 12:40 | |
[RedHat 9] Mounting FAT32 с русскими именами файлов! | Kentavriusis | Общий по Linux | 10 | 21-04-2003 22:16 |
|