FORUM DARKERS

Tecnologia & Informática => Programação => Batch Script => Topic started by: cebolaaa on 29 de May , 2007, 05:05:14 PM

Title: [Solucionado] Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 29 de May , 2007, 05:05:14 PM
Aew xD, galera, este eh um programinha que estou fazendo para facilitar a rotina de trabalho de mta gnt, como a minha hehe, coitado estagiario q se mata pra ganhar 100 reais por mês, o chef briga por kalker coisa, pega no pé, cobra, trabalhei 1 mes e meio e num ganhei nada ainda,,aeuhuhauhua e uma das minhas professoras da escola eh a mulher dele,,, sintam so a rotina.,...kkkk
Intaum, o objetivo do programa eh deixar recados para o chef (por enkanto).
Vc entra, poem o local aonde ker q o arquivo de recados seja criado, loga, poem os dados, e o programa salva.
So q ai pessoal, to com uns probleminhas, e keria pedir a ajuda de voces.

o 1º - Eu queria salvar a variavel de %caminho% na correspondencia da variavel %local%, a qual tem a função de indicar o lugar onde sera gerado o arquivo de recados.
Porem do jeito q fiz n deu nd certo, se algum puder ajudar agradesço mto xD.
o 2º xD - Blz, se eu salvo um recado da certo, mas ao salvar o 2º, o primeiro eh apagado xD, nossa, q triste...heheh
mas isso axo q dou conta de resolver...

Ajude kem puder xD, obrigado, abraços...

@echo off
color 81
set e=echo.
set p=pause
set n=Recados
set v=BETA
set by=by:cebolaaa@hotmail.com
Title %n% (%v%) %by%
%P%
goto start
==================================================
:start
rem
set caminho=""
%e% Digite o caminho e nome que voce quer para
%e% o arquivo de recados respctivamente:
rem
set /p caminho=
%e%
goto login
=================================================
set local="%caminho%"
=================================================
:login
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para logar no programa.
set /p choice=Selecionar a opcao:
rem
if %choice%==1 goto 3
if %choice%==2 goto 0
===============================================
:0
cls
set /p usuario=Digite seu usuario:
if %usuario%==fernando GOTO 1 ELSE goto error1
===============================================
:error1
%e% Usuario INVALIDO!
GOTO 0
===============================================
:1
set /p senha=Digite sua senha:
if %senha%==co2h2o GOTO inicio ELSE goto error2
===============================================
:error2
%e% Senha INVALIDA!
GOTO 1
==============================================
:inicio
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para administrar o programa.
set /p choice=Selecionar a opcao:
rem
if %choice%==1 goto 3
if %choice%==2 goto if1
==============================================
:if1
cls
%e% Digite abaixo as informacoes em seus
%e% respectivos campos:
%e%
rem
set Data=""
set Hora=""
set Remetente=""
set Destinatario=""
set Recado=""
%e%
%e% Digite a data:
rem
set /p Data=
goto xcopy1
==============================================
:if2
%e% Digite a hora:
rem
set /p Hora=
goto xcopy2
==============================================
:if3
%e% Digite o remetente:
rem
set /p Remetente=
goto xcopy3
==============================================
:if4
%e% Digite o destinatario:
rem
set /p Destinatario=
goto xcopy4
==============================================
:if5
%e% Digite o recado:
rem
set /p Recado=
goto xcopy5
==============================================
:xcopy1
%e% Data: %Data% > %local%
goto if2
==============================================
:xcopy2
%e% Hora: %Hora% >> %local%
goto if3
==============================================
:xcopy3
%e% Remetente: %Remetente% >> %local%
goto if4
==============================================
:xcopy4
%e% Destinatario: %Destinatario% >> %local%
goto if5
==============================================
:xcopy5
%e% Recado: %Recado% >> %local%
%e% --------------------------------------------------- >> %local%
goto 2
==============================================
:2
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para adicionar um novo recado.
set /p choice=Selecionar opcao:
rem
if %choice%==1 goto 3
if %choice%==2 goto 1
==============================================
:3
exit
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 29 de May , 2007, 11:08:52 PM
@echo off
color 81
set e=echo.
set p=pause
set n=Recados
set v=BETA
set by=by:cebolaaa@hotmail.com
Title %n% (%v%) %by%
%P%
goto start
===============================================
:start
rem
set caminho=""
%e% Digite o caminho e nome que voce quer para
%e% o arquivo de recados respctivamente:
rem
set /p caminho=
%e%
set local="%caminho%"
goto login
===============================================
:login
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para logar no programa.
set /p choice=Selecionar a opcao:
rem
if %choice%==1 goto 3
if %choice%==2 goto 0
===============================================
:0
cls
set /p usuario=Digite seu usuario:
if %usuario%==fernando GOTO 1 ELSE goto error1
===============================================
:error1
%e% Usuario INVALIDO!
%p%
GOTO 0
===============================================
:1
cls
set /p senha=Digite sua senha:
if %senha%==co2h2o GOTO inicio ELSE goto error2
===============================================
:error2
%e% Senha INVALIDA!
%p%
GOTO 1
==============================================
:inicio
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para administrar o programa.
set /p choice=Selecionar a opcao:
rem
if %choice%==1 goto 3
if %choice%==2 goto if1
==============================================
:if1
cls
%e% Digite abaixo as informacoes em seus
%e% respectivos campos:
%e%
rem
set Data=""
set Hora=""
set Remetente=""
set Destinatario=""
set Recado=""
%e%
%e% Digite a data:
rem
set /p Data=
goto xcopy1
==============================================
:if2
%e% Digite a hora:
rem
set /p Hora=
goto xcopy2
==============================================
:if3
%e% Digite o remetente:
rem
set /p Remetente=
goto xcopy3
==============================================
:if4
%e% Digite o destinatario:
rem
set /p Destinatario=
goto xcopy4
==============================================
:if5
%e% Digite o recado:
rem
set /p Recado=
goto xcopy5
==============================================
:xcopy1
%e% Data: %Data% > %local%
goto if2
==============================================
:xcopy2
%e% Hora: %Hora% >> %local%
goto if3
==============================================
:xcopy3
%e% Remetente: %Remetente% >> %local%
goto if4
==============================================
:xcopy4
%e% Destinatario: %Destinatario% >> %local%
goto if5
==============================================
:xcopy5
%e% Recado: %Recado% >> %local%
%e% --------------------------------------------------- >> %local%
goto 2
==============================================
:2
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para adicionar um novo recado.
set /p choice=Selecionar opcao:
rem
if %choice%==1 goto 3
if %choice%==2 goto 1
==============================================
:3
exit

JA ERAAAA URHULLLL xD, CONSEGUI!!! xD ta ae galera xD
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 05 de June , 2007, 02:56:17 PM
Pessoal, ta td certo, menos por uma coisinha....
Qdo vc salva o arquivo, blz, da td certo.
So q, qdo vc vai adicionar + um recado ao msm arquivo, ele copia em cima do outro...
Eu keria saber como posso fazer para ele copiar nas linhas nao ocupadas do arquivo.
Tipo:

Copie xxxxx > yyy.txt if a linha estiver ocupada else copie na proxima linha livre.

tem como fazer isto?
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: whit3_sh4rk on 05 de June , 2007, 03:24:50 PM
echo "INICIO DO ARQUIVO" > MENSAGEM.TXT
echo "SEGUNDA LINHA" >> MENSAGEM.TXT

> = Cria o arquivo
>> = Adiciona ao arquivo

Obs: Evite crie posts duplos(ou triplos..).

[]s
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: rog on 05 de June , 2007, 03:54:39 PM
seu codigo e claro e limpinho porem nao e commentado

isso cansa bastante a leitura e eu nao estou com saco

mas deve ter algum erro de logica

se vc der o nomo do arquivo o mesmo nome do remettente seria mais simple

rog
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 05 de June , 2007, 06:30:15 PM
@echo off
color 81
set e=echo. // CRIA A VARIAVEL %E% QUE SUBSTITUI O COMANDO ECHO
set p=pause //CRIA A VARIAVEL %E% QUE SUBSTITUI O COMANDO PAUSE
set n=Recados // VARIAVEL PARA DETERMINAR O NOME DO PROGRAMA
set v=BETA // VARIAVEL PARA DETERMINAR A VERSAO DO PROGRAMA
set by=by:cebolaaa@hotmail.com // VARIAVEL PARA DETERMINAR QUEM FEZ O PROGRAMA
Title %n% (%v%) %by% // TITULO= NOME + VERSAO + QUEM FEZ
%P%
goto start // INICIA DE FATO O PROGRAMA
===============================================
:start
rem // LIMPA A VARIAVEL %CAMINHO%
set caminho="" //CRIA A VARIAVEL
%e% Digite o caminho e nome que voce quer para
%e% o arquivo de recados respctivamente:
rem // GRAVA O DIGITADO NA VARIAVEL
set /p caminho= // ONDE O USUARIO DEVE DIGITAR O CAMINHO E NOME DO ARQUIVO A SER CRIADO
%e%
set local="%caminho%" //CRIA A VARIAVEL %LOCAL%, A QUAL IRA BUSCAR O CONTEUDO DA %CAMINHO%
goto login // VAI PARA O LOGIN
===============================================
:login
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para logar no programa.
set /p choice=Selecionar a opcao: // ESCOLHE A OPCAO DE SAIR OU LOGAR NO PROGRAMA
rem // GRAVA A ESCOLHA
if %choice%==1 goto 3 // SAI DO PROGRAMA
if %choice%==2 goto 0 // VAÍ PARA O LOCAL ONDE SE POEM SENHA E USER
===============================================
:0
cls
set /p usuario=Digite seu usuario: // LOCAL PARA O USUARIO POR SEU USER DO PROGRAMA
if %usuario%==fernando GOTO 1 ELSE goto error1 // SE O USUARIO ESTIVER CORRETO, PROSSEGUE, SE NAO VOLTA
===============================================
:error1
%e% Usuario INVALIDO! // MENSSAGEM DE ERRO
%p%
GOTO 0 // VOLTA PARA O PEDIDO DE USER
===============================================
:1
cls
set /p senha=Digite sua senha: // LOCAL PARA O USUARIO POR SUA SENHA  DO PROGRAMA
if %senha%==co2h2o GOTO inicio ELSE goto error2 // SE A SENHA ESTIVER CORRETA, PROSSEGUE, SE NAO VOLTA
===============================================
:error2
%e% Senha INVALIDA! // MENSSAGEM DE SENHA INVALIDA
%p%
GOTO 1 // VOLTA DINOVO PARA PEDIDO DE SENHA
==============================================
:inicio
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para administrar o programa.
set /p choice=Selecionar a opcao: // LOCAL ONDE USUARIO ESCOLHE SE SAI DO PROGRAMA, OU VAI O ADMINISTRAR
rem
if %choice%==1 goto 3 // SAI DO PROGRAMA
if %choice%==2 goto if1 // VAI PARA A ADMINISTRACAO
==============================================
:if1
cls
%e% Digite abaixo as informacoes em seus
%e% respectivos campos:
%e%
rem // LIMPA AS VARIAVEIS ABAIXO
set Data=""
set Hora=""
set Remetente=""
set Destinatario=""
set Recado=""
%e%
%e% Digite a data:
rem // COPIA O DIGITADO NA VARIAVEL %DATA%
set /p Data= // LOCAL DESTINADO A INFORMACAO DA DATA
goto xcopy1 // PROCEGUE PARA A COPIA
==============================================
:if2
%e% Digite a hora:
rem // COPIA O DIGITADO NA VARIAVEL %Hora%
set /p Hora= // LOCAL DESTINADO A INFORMACAO DA HORA
goto xcopy2 // PROCEGUE PARA A COPIA
==============================================
:if3
%e% Digite o remetente:
rem // COPIA O DIGITADO NA VARIAVEL % Remetente%
set /p Remetente=  // LOCAL DESTINADO A INFORMACAO DO REMETENTE
goto xcopy3 // PROCEGUE PARA A COPIA
==============================================
:if4
%e% Digite o destinatario:
rem // COPIA O DIGITADO NA VARIAVEL %Destinatario%
set /p Destinatario= // LOCAL DESTINADO A INFORMACAO DO DESTINATARIO
goto xcopy4 // PROCEGUE PARA A COPIA
==============================================
:if5
%e% Digite o recado:
rem // COPIA O DIGITADO NA VARIAVEL %Recado%
set /p Recado= // LOCAL DESTINADO A INFORMACAO DO RECADO
goto xcopy5 // PROCEGUE PARA A COPIA
==============================================
:xcopy1
%e% Data: %Data% > %local% // COPIA O GUARDADO EM %DATA% NO ARQUIVO DITO NA VARIAVEL %LOCAL%
goto if2 // VAI PARA A PROGRAMACAO DE HORA, ONDE O USUARIO IRA DETERMINAR A HORA
==============================================
:xcopy2
%e% Hora: %Hora% >> %local%  // COPIA O GUARDADO EM %Hora%NO ARQUIVO DITO NA VARIAVEL %LOCAL%
Goto if3 // VAI PARA A PROGRAMACAO DO REMETENTE, ONDE O USUARIO IRA DETERMINAR  O REMETENTE
==============================================
:xcopy3
%e% Remetente: %Remetente% >> %local%  // COPIA O GUARDADO EM %Remetente% NO ARQUIVO DITO NA VARIAVEL %LOCAL%
Goto if4 // VAI PARA A PROGRAMACAO DE Destinatario, ONDE O USUARIO IRA DETERMINAR A O Destinatario
==============================================
:xcopy4
%e% Destinatario: %Destinatario% >> %local%  // COPIA O GUARDADO EM %Destinatario% NO ARQUIVO DITO NA VARIAVEL %LOCAL%
Goto if5 // VAI PARA A PROGRAMACAO DE RECADO, ONDE O USUARIO IRA DETERMINAR A O RECADO ==============================================
:xcopy5
%e% Recado: %Recado% >> %local%  // COPIA O GUARDADO EM %Recado% NO ARQUIVO DITO NA VARIAVEL %LOCAL%
%e% --------------------------------------------------- >> %local%
goto 2
==============================================
:2
cls
%e% Digite "1" para sair do programa;
%e% Digite "2" para adicionar um novo recado.
set /p choice=Selecionar opcao: // DEIXA O USUARIO ESCOLHER ENTRE SAIR DO PROGRAMA OU RETORNAR AO INICIO
rem
if %choice%==1 goto 3 // SAI DO PROGRAMA
if %choice%==2 goto 1 // RETORNA AO INICIO DO PROGRAMA
==============================================
:3
exit //SAI DO PROGRAMA

então galera,,, eu to falando assim,.... eu copio de boa os arquivos eu sei como c faz, ta dando td certo, so q,,, qdo a pessoa entra no programa no msm  arquivo, para adicionar algo a mais nele, "um  novo recado", ele salva encima dakele outro ja existente,,,,
eu keria q o programa lê-se as linhas, e se a linha em q ele fosse copiar estive-se ocupada com kalker coisa, ele pula-se para baixo ate achar uma limpa para prosseguir com a copia...
Obrigado.
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: Anonymous on 05 de June , 2007, 08:00:04 PM
Muito bem comentado...  :D
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: rog on 05 de June , 2007, 10:01:24 PM
e um erro de logica

:xcopy1
%e% Data: %Data% > %local% // COPIA O GUARDADO EM %DATA% NO ARQUIVO DITO NA VARIAVEL %LOCAL%

vc vai esmagar sempre

tem que fazer um test para ver se o arquivo ja existe para nao esmagar ele

rog
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 05 de June , 2007, 10:54:26 PM
MTO obrigado Killer.Bat,,,
Rog xD, intaum amigo, tipo, nisso q eu kero ajuda,,, eu sei q ele vai copiar sempre por cima deste modo,,, esta ai o q eu kero mudar,,,
como eu faço para ele checar antes se tem algo e, se tiver copiar onde n tem?

Obrigado xD
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: rog on 06 de June , 2007, 02:40:53 AM
IF EXIST file_path

quando vc tever apertado em batch vc dê um pulo no forum do astase.com e dê uma pesquisa

e em frances mas o codigo e internacional

rog
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 07 de June , 2007, 10:18:11 PM
ty a todos, sempre mto obrigado.
o Defcon me add no msn, por outro motivo,,, mas conversamos, e mostrei a ele o programa, e ele descobrio o erro logo de cara... o cara eh mto inteligente, pensa mto bem xD

ta aki oh:

==============================================
:xcopy1
%e% Data: %Data% > %local%
goto if2
==============================================

teria q ser assim:

==============================================
:xcopy1
%e% Data: %Data% >> %local%
goto if2
==============================================

tem de haver >>,, isso pq, se tiver so >, ele é como se ele cria-se o arquivo dinovo
ai os outros "xcopy" sobrescrevem msm.... hehe.
Mto obrigado sempre a todos, e a Defcon xD
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: cebolaaa on 07 de June , 2007, 10:25:43 PM
xD era so por >> msm xD
Title: Re: Programa de Recados em Batch, qse pronto, need Help xD
Post by: whit3_sh4rk on 08 de June , 2007, 12:15:02 PM
Não precisaria nem ter conversado no MSN.

Você pede ajuda, mas parece não ler as respostas colocadas aqui. Releia minha mensagem postada acima e verá a resposta.

(http://www.darkers.com.br/forum/http:// ... 108#p32108 (http://www.darkers.com.br/forum/http://www.darkers.com.br/phpBB3/viewtopic.php?p=32108#p32108))

E pela última vez, evite posts duplos!

Tópico trancado.

[]s