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

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

Ответить
Настройки темы
CMD/BAT - [решено] считывать переменные с txt в батник по дате

Новый участник


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

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


здравствуйте, есть текстовый документ колич.txt
в нем каждый день генерируется отчет и каждый день продолжается, дата-название-обьем
Код: Выделить весь код
за  05.21   R1 - 10
за  05.21   R2 - 4302
 
за  05.21   R3 - 1
за  05.21   R4 - 16


за  05.22   R1 - 0
за  05.22   R2 - 3073
 
за  05.22   R3 - 3
за  05.22   R4 - 4

и т.д
Есть сегодняшняя дата, как сделать чтобы батник с txt файла считывал дату(сегодняшнюю), название и обьем и вносил в переменные.. просто эти переменные надо в excel внести будет..

и как сделать чтобы: есть сегодняшняя дата, вчерашняя и позавчерашняя..Нода чтобы батник внес в переменные 3 этих дня которые указаны в промежутке

Отправлено: 19:19, 04-07-2013

 

Ветеран


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

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


Цитата NibelungXXX:
просто эти переменные надо в excel внести будет.. »
Почему тогда не делать сие непосредственно из-под Excel?

Отправлено: 20:27, 04-07-2013 | #2



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

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


Новый участник


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

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


Цитата Iska:
Почему тогда не делать сие непосредственно из-под Excel? »
потому что генерится это партнерами и никак не пришлют excel, шлют только txt

Отправлено: 20:33, 04-07-2013 | #3


Старожил


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

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


За текущий так:
Код: Выделить весь код
@echo off
for /f "tokens=3,5" %%i in ('findstr %date:~3,2%.%date:~0,2% колич.txt') do (
set /a count+=1
call set x%%count%%=%%i
call set y%%count%%=%%j
)
set | findstr /r /c:"^x" /c:"^y"
pause

Последний раз редактировалось Sphinx114, 04-07-2013 в 20:54.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:43, 04-07-2013 | #4


Ветеран


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

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


Цитата NibelungXXX:
потому что генерится это партнерами и никак не пришлют excel, шлют только txt »
А причём тут партнёры? Я говорю: Вы собираетесь извлечённую информацию добавлять в рабочую книгу Excel — так и делайте это сразу из-под Excel.

Отправлено: 20:56, 04-07-2013 | #5


Новый участник


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

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


Sphinx114 спасибо, за текущую дату вытаскивает, и с помощью vbs подкрепляю в excel, но как быть если были выходные и в понедельник надо за пятницу, суботту и воскресенье чтоб вытаскивал..Дата понедельника и дата пятницы известны

Цитата Iska:
А причём тут партнёры? Я говорю: Вы собираетесь извлечённую информацию добавлять в рабочую книгу Excel — так и делайте это сразу из-под Excel. »
мне надо чтоб автоматически это делалось через батник, до этого excel программа уже выполняет операций 20 разных

Отправлено: 21:09, 04-07-2013 | #6


Ветеран


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

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


Ну так сюда:
Цитата NibelungXXX:
и с помощью vbs подкрепляю в excel »
и добавьте.

Отправлено: 21:34, 04-07-2013 | #7


Новый участник


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

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


Цитата Iska:
и добавьте. »
там просто переменную вытаскиваешь, потом ей добовляешь в определенную позицию, а как по другому можно?

Отправлено: 21:56, 04-07-2013 | #8


Старожил


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

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


Код: Выделить весь код
@echo off
::set date=04.07.2013

call :z -0 %date% a b
call :z -1 %date% c d
call :z -2 %date% e f

set | findstr /r /c:"^[abcdef]"
pause
exit

:z
SetLocal
Set DT=%2
Set yyyy=%DT:~-4%& set /a mm=100%DT:~3,2%%%100& set /a dd=100%DT:~,2%%%100
Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
Set /A J=J+2-12*L,I=100*(N-49)+I+L
Set /A yyyy=I,mm=100+J,dd=100+K
EndLocal& Set mm.dd=%mm:~-2%.%dd:~-2%

for /f "tokens=3,5" %%i in ('findstr %mm.dd% колич.txt') do (
set /a count+=1
call set %3%%count%%=%%i
call set %4%%count%%=%%j
)

set "count="
Где set date можно раскомментировать и переопределить текущую дату. Если надо более чем за 3 дня, то добавляете строки с call :z по аналогии.

Последний раз редактировалось Sphinx114, 04-07-2013 в 22:29.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:20, 04-07-2013 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания) DIMM2005 Программное обеспечение Windows 36 03-01-2020 16:54
VBS/WSH/JS - Отправка по почте последнего файла .log, созданного по дате и времени alex_frog Скриптовые языки администрирования Windows 0 03-02-2013 17:32
CMD/BAT - сортировка файлов по папкам по дате в названии insearches Скриптовые языки администрирования Windows 1 03-02-2013 17:03
CMD/BAT - [решено] Поиск файла по маске и по дате Баян Скриптовые языки администрирования Windows 2 14-03-2011 13:32
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58




 
Переход