Você está na página 1de 5

28/07/2019 Lista de tarefas (repetidas ou não) em batch script!

Forumeiros Compartilhe : Bem-vindo Icaro Apolinario Notificações

Batch-Satti

PARCEIROS
Techsempre
Pesquisar
Como Postar no Batch-

Pesquisa personalizada Delphi Brasil

ÚLTIMOS
Lista de tarefas (repetidas ou não) em batch script!
CQLT-Consultores (Por
ASSUNTOS
Para colocar seu site aq
» Backup para técnicos
Versão beta test Lista de tarefas (repetidas ou não) em batch script! mande uma mensagem
Qua Maio 15, 2019 por lucasvtiradentes em Qua Set 06, 2017 5:08 pm Boss-Head
9:49 am por Boss-
Head

» Backup para técnicos 1 - Introdução e propósito


em informática
(preciso de ajuda!!) QUEM ESTÁ
Qua Maio 15, 2019 CONECTADO
9:37 am por Boss- Boa tarde, não sei vocês, mas boa parte do meu dia é mexendo no computador, Há 2 usuários o
Head
às vezes fazendo coisas úteis, outras não hehe. De modo que pra mim é viável ser 1 usuário cadas
Nenhum Invisív
» Backup Win 7 e Win lembrado de meus afazeres diários pelo próprio computador, por isso desenvolvi este Visitante
10 completo
Qua Maio 15, 2019 script.
9:37 am por Boss- Icaro Apolinario
Head Expandir esta imagem
[ Ver toda a

COMO POSTAR O recorde de us


Expandir esta imagem
AQUI. online foi de 39
Sab Set 21, 201
am

2 - Funcionalidades
Batchs = 13
Quanto às funcionalidades do script, cito as principais:
Satti-Store

Paste Ubuntu A original aplicação é mostrar tarefas singulares (ou seja, sem repetição
Paste Bin
semanal), especificadas por data e hora. Quando essas data e hora especificadas
coincidem com as atuais, uma mensagem é mostrada na tela do computador
com o nome da tarefa específica.
Programar para mostrar ou não hábitos, estes sendo especificados conforme os
dias da semana (repetição semanal atualmente, talvez eu adicione a opção de
repetição mensal futuramente).
Programar para mostrar ou não tarefas passadas (Ou seja, tarefas em que Data
e tempo atual > Data e tempo da tarefa)
Programar para mostrar tarefas conforme um critério especificado: Tarefas do
dia atual, Tarefas dessa semana, Tarefas desse mês, Todas as tarefas e Tarefas
com a etiqueta especificada
Com o intuito de captar a atenção para a mensagem mostrada quando a hora e
data da tarefa (ou hábito) forem atendidas, todas as janelas são minimizadas e a
mensagem aparece só na tela.

3 - Script

Salve-o com qualquer nome que desejar e extensão ".bat" (Batch-to-do.bat, por
exemplo) e deixe-o na mesma pasta do arquivo de tarefas.
CÓDIGO BATCH:

O seguinte arquivo deve ser salvado com o nome de "tarefas.txt" e conforme foi
supracitado, deve estar na mesma pasta do batch em questão.
EXEMPLO DE ARQUIVO COM TAREFAS:

P.S.: Gente, essas exigências são só detalhes, se você não quiser por exemplo que o
nome seja "tarefas.txt" é só mexer no código, a mesma ideia vale para a

batch-satti.forumeiros.com/t3388-lista-de-tarefas-repetidas-ou-nao-em-batch-script 1/5
28/07/2019 Lista de tarefas (repetidas ou não) em batch script!

Forumeiros obrigatoriedade deCompartilhe


estar na :mesma pasta: tudo depende de suas alterações.
Bem-vindo Faça asNotificações
Icaro Apolinario
alterações que melhor lhe atendam.

4 - Linhas importantes do código - Personalização

Conforme foi mencionado, o programa permite algumas configurações, de forma


que para uma melhor utilização do arquivo, lhes mostrarei aqui, apesar de ser bem
intuitivo.
CÓDIGO:

set "Criterio=3"
set "mostrar_atrasadas=Não"
set "mostrar_habitos=Sim"
set "Etiqueta_padrao=Faculdade"
O que determina o modo em que as tarefas serão mostradas é a variável Critério,
de modo que as seguintes opções são possíveis:

Critério=1: Mostra as tarefas diárias


Critério=2: Mostra as tarefas dessa semana
Critério=3: Mostra as tarefas desse mês
Critério=4: Mostra as todas as tarefas
Critério=5: Mostra as tarefas que possuem a etiqueta [Etiqueta_padrao]

Já a variável Mostrar_atrasadas controla se o batch irá mostrar ou não tarefas


em que a data ou o tempo atual já superam a data e o tempo especificado da tarefa
(ou seja, tarefas passadas). Assim, tem duas possíveis configurações:

mostrar_atrasadas=sim: Mostra tarefas passadas


mostrar_atrasadas=Y: Não mostra tarefas passadas

É possível também controlar se o batch mostra ou não tarefas repetitivas, por


meio da variável mostrar_habitos, sendo estas as possíveis opções:

mostrar_habitos=Sim: Mostra hábitos na tela


mostrar_habitos=Y: Não mostrar hábitos na tela

P.S.: Nas variáveis mostrar_atrasadas e mostrar_habitos este Y representa


qualquer cadeia de caracteres que não for "sim". O que o batch faz é verificar se tais
variáveis assume a variável "sim", caso sim fazem uma tarefa, caso contrário (ou seja,
se assumirem qualquer outra valor) fazem outra.

5 - Definindo tarefas no arquivo de texto

Para definir tarefas, conforme pode ser visualizado no arquivo fornecido, há duas
sintaxes possíveis, uma para tarefa única e outra para hábito.
Para tarefas únicas, deve-se utilizar a seguinte sintaxe:
CÓDIGO:

04/09/2017 | 16:00 | Faculdade | Seminário Eletricidade: 3ª avaliação


Não há muito o que comentar, é só seguir a estrutura acima, sendo que o campo
preenchido acima como "Faculdade" é a etiqueta da tarefa, útil para filtrar tarefas
agrupadas em determinada etiqueta.
Já para tarefas repetidas semanalmente, utiliza-se a expressão a seguir:
CÓDIGO:

xx/xx/xxxx | 16:00 | Hábito | Passear com o teófilo | Ter Qui


Ou seja, para ser de fato um hábito, precisa-se das seguintes especificações:

O campo da data precisa está preenchido com a cadeia "xx/xx/xxxx"


O campo da etiqueta deve estar com o nome "Hábito"
Os dias da semana devem ser especificados após a tarefa, usando as três
primeiras letras do dia (Seg, Ter, Qua, Qui, Sex, Sab, Dom)

batch-satti.forumeiros.com/t3388-lista-de-tarefas-repetidas-ou-nao-em-batch-script 2/5
28/07/2019 Lista de tarefas (repetidas ou não) em batch script!

Forumeiros Compartilhe : Bem-vindo Icaro Apolinario Notificações


P.S.: Como uma condição extra, devo dizer que na especificação dos dias de repetição
semanal, deve-se deixar sempre um espaço antes e depois do dia, pois essa foi a
forma que encontrei pra filtrar precisamente esses dias no arquivo de tarefa.
Assim, para especificar segunda e terça, deve-se colocar: " Seg Qua ". Perceba que
há um espaço antes e depois tanto em Seg como em Qua.

6 - Imagens do programa em funcionamento

As seguintes imagens foram capturadas usando o arquivo tarefas, apresenta


acima, no dia 06/09/2017 por volta das 17h - conforme o batch indica na parte inferior
esquerda.

IMAGEM 1 - TAREFAS DIÁRIAS:

IMAGEM 2 - TAREFAS FACULDADE:

IMAGEM 3 - TAREFAS MENSAIS:

IMAGEM 4 - DEMONSTRANDO A MENSAGEM DE ALERTA:

7 - Entendendo o código

Alguns pontos que tenho a declarar sobre o modo de funcionamento do batch


são:

A fim de detectar a data final da semana e a data final do mês, separei uma
seção em que há umas contas malucas lá (a seção é :Define_datas), quem
tiver interessado em ver como fiz é só checar lá, acredito que está intuitivo.
Para o devido andamento do Batch, alguns arquivos são criados na pasta
temporária do windows (%tmp%), dentre estes, posso citar: msg.vbs (que é
responsável por mostrar a mensagem personalizada do Windows), wait.vbs
(Assim que uma tarefa é mostrada, ele é acionado, fazendo com que o batch
pare por 60s, evitando que a mesma tarefa mostre inúmeras
mensagens), desk.vbs (responsável por minimizar as janelas ativas, ajudando
na visualização da mensagem de alerta).
O batch conta o tanto de tarefas e ajusta o seu tamanho automaticamente para
melhor mostrar as tarefas atuais (teste mudar as tarefas enquanto o batch está
rodando e verá isso!)
As tarefas passadas são mostradas na cor vermelha, já as atuais são mostradas
em verde.

8 - Projeto & Despedida

Bom galera, esse foi o script que desenvolvi para atender minhas necessidades,
eu diria que o código em si está com mais linhas do que deveria. Por hora não tenho
interesse de deixar ele "bonitinho", bora ver se eventualmente essa vontade bate e eu
posto uma atualização aqui da versão enxuta do código.
Postei aqui pra ver se ajuda alguém, mas também se aparecer um com ideias e
disposição pra dar uma melhorada, reportar bug, enfim, dar um review vou ficar
felizão hehe. É isso, falou!

9 - Referências

Mudar a cor de linhas específicas em Batch


Ordenar variáveis com base na data e hora

batch-satti.forumeiros.com/t3388-lista-de-tarefas-repetidas-ou-nao-em-batch-script 3/5
28/07/2019 Lista de tarefas (repetidas ou não) em batch script!

Forumeiros Compartilhe : Bem-vindo Icaro Apolinario Notificações

lucasvtiradentes
Idade : 21
Data de inscrição :
26/08/2017

Re: Lista de tarefas (repetidas ou não) em batch script!


por Wesley Junio em Qui Set 07, 2017 10:13 am

Legal lucasvtiradentes, parabéns pelo projeto.So uma duvida, você ja pensou em implementar
usando o "schtasks".

lucasvtiradentes escreveu:
Por hora não tenho interesse de deixar ele "bonitinho", bora ver se eventualmente
essa vontade bate e eu posto uma atualização aqui da versão enxuta do código.

Essa vontade sempre volta kkkkkk.

Wesley Junio
Idade : 28
Data de inscrição :
31/07/2015

Re: Lista de tarefas (repetidas ou não) em batch script!


por lucasvtiradentes em Sex Set 08, 2017 12:03 am

Wesley Junio escreveu:


Legal lucasvtiradentes, parabéns pelo projeto.So uma duvida, você ja pensou em
implementar usando o "schtasks".

lucasvtiradentes escreveu:
Por hora não tenho interesse de deixar ele "bonitinho", bora ver se
eventualmente essa vontade bate e eu posto uma atualização aqui da versão
enxuta do código.

Essa vontade sempre volta kkkkkk.

Vlw, brow! cara pra falar a vdd não sabia desse comando, tava dando uma olhada
aqui, achei bem interessante pra falar a vdd. Talvez eu ponha ele sim, vou ver se
penso em algo útil aqui.

essa vontade geralmente n volta em mim não hsuhsu

lucasvtiradentes
Idade : 21
Data de inscrição :
26/08/2017

batch-satti.forumeiros.com/t3388-lista-de-tarefas-repetidas-ou-nao-em-batch-script 4/5
28/07/2019 Lista de tarefas (repetidas ou não) em batch script!

Forumeiros Compartilhe : Bem-vindo Icaro Apolinario Notificações

Tópicos similares
» [Resolvido] Lista de imagens com múltipla escolha
» [Resolvido] Lista de tutoriais
» Sub-fóruns em lista vertical
» COMO IMPORTAR LISTA DE CLIENTES CADASTRADOS APÓS EXPORTAR
» Consulta usando combo box ou lista suspensa

RESPOSTA RÁPIDA:

Pré-visualizar Enviar

Ir para: Selecionar um fórum Ir

PERMISSÃO DESTE FÓRUM:


Você pode responder aos tópicos neste fórum

Início Forumeiros.com | © phpBB | Fórum grátis de ajuda | Assinalar uma

batch-satti.forumeiros.com/t3388-lista-de-tarefas-repetidas-ou-nao-em-batch-script 5/5