Batch-Satti
Se voc ainda no um membro cadastre-se!

Existem centenas de scripts para quem membro.

As categorias para os membros cadastrados so:

BATCH-SCRIPTS COMPLETO.
(Espao onde so postados os scripts que tenham funcionalidade completa)
BADCONS VIRUS E TROJANS .
(Espao onde so postados scripts e tcnicas em vrus trojans e worm baseados em scripts )
SOMENTE PARA MEMBROS.
(Espao destinado aos membros discutirem ou tirarem duvidas)
TUTORIAIS E EXPLICAES.
(Aqui so colocadas as explicaes de comandos e tcnicas para confeco de scripts )

EXISTEM MUITAS OUTRAS CATEGORIAS MS ESSAS SO AS PRINCIPAIS !

ENTRE E PARTICIPE !!!!!!!
MENSAGENS AOS MEMBROS :
TIVEMOS QUE AUTORIZAR PROPAGANDAS NO FORUM E TALVEZ O FIREFOX E OUTROS NAVEGADORES NO FUNCIONEM
UTILIZEM O INTERNET EXPLORER OU ATUALIZEM PARA O FIREFOX 4.0 BETA

ASS. BOSS-HEAD


Pesquisa personalizada

Sistema de pastas

Ver o tpico anterior Ver o tpico seguinte Ir em baixo

Sistema de pastas

Mensagem por Beto Rubini em Qua Abr 20, 2016 12:40 am

Boa noite

Gostaria de uma ajuda para a criao de um sistema de criao de pastas de clientes por ordem de servio, sei que jexiste um tpico a respeito, mas o mesmo no atendeu minhas expectativas..

o sistema seria mais ou menos assim:

um menu que contenha opo para "novo cliente", se for o primeiro inicia em "OS_0001_NOME_CLIENTE" em maisculo obrigatoriamente. Caso j exista algum cliente com OS ele apenas continue ex. 0002, 0003..

As pastas dos clientes tero subpastas que podero ser escolhidas pelo usurio atravs de menus, seria legal que as subpastas tambm levassem o numero da OS.

A segunda opo do menu seria "modificar" onde escolhemos a pasta desejada e renomeamos.

Segue um modelo que est em construo. Caso algum possa me ajudar ficarei eternamente grato hehe

Cdigo:
@echo off
color 9F
mode con:lines=20
mode con:cols=65
title Sistema Clientes Escritrio Arquitetura
set /a n=0

:@
cls
call:strlen %n%

if %c%==4 if %n:~0,3% == 000 if %c%==3 if %n:~0,2% == 00 (set n=%n:~2,1%) else if %c%==3 if %n:~0,1% == 0 set n=%n:~1,2%

set /a n+=1

call:strlen %n%
if %c%==1 set n=00%n%
if %c%==2 set n=0%n%

for /f "tokens=*" %% in ('dir /b *.* ^| Find /i"OS_%n%_"') do goto:@
echo Sistema Clientes Escritrio Arquitetura
echo.
echo.
set /p "nome=Digite o nome do cliente: "
md OS_%n%_%nome%
cd OS_%n%_%nome%

rem Usar "cd %Dir_Atual%" para abrir diretorio raiz onde est arquivo .bat
for /f "delims=" %%I in ("%0") do set "Dir_Atual=%%~spI"

:menu01
cls
echo.
echo.
echo.
echo ͻ
echo Clientes Arquitetura - Beto Rubini
echo ͹
echo 1.Criar Pastas
echo 2.Modificar
echo 3.Backup
echo 4.Sair
echo ͼ
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.

set Choice=
set /P Choice=Digite a opo e pressione Enter:
if not '%Choice%'=='' SET Choice=%Choice:~0,1%
echo
if /I '%Choice%'=='1' GOTO CRIAR_PASTAS
if /I '%Choice%'=='2' GOTO MODIFICAR
if /I '%Choice%'=='3' GOTO BACKUP
if /I '%Choice%'=='4' GOTO SAIR
echo "%Choice%" Opo incorreta, tente novamente!
echo.
goto menu01

:CRIAR_PASTAS
goto menu_pastas

:menu_pastas
cls
echo.
echo.
echo.
echo ͻ
echo Clientes Arquitetura - Criar Pastas
echo ͹
echo 1.Projeto Arquitetnico
echo 2.Projeto Interiores
echo +3.Projetos Complementares
echo 4.Criar todas as pastas
echo 5.Voltar
echo 6.Sair
echo ͼ
echo.
set Choice=
set /P Choice=Digite a opo e pressione Enter:
if not '%Choice%'=='' SET Choice=%Choice:~0,1%
echo
if /I '%Choice%'=='1' GOTO PROJ_ARQUITETONICO
if /I '%Choice%'=='2' GOTO PROJ_INTERIORES
if /I '%Choice%'=='3' GOTO PROJ_COMPLEMENTARES
if /I '%Choice%'=='4' GOTO TODASPASTAS
if /I '%Choice%'=='5' GOTO menu01
if /I '%Choice%'=='6' GOTO SAIR
echo "%Choice%" Opo incorreta, tente novamente!
echo.
goto menu_pastas_projeto_arquitetonico

:PROJ_ARQUITETONICO
cls
cd %Dir_Atual%
cd OS_%n%_%nome%
md PROJETO_ARQUITETNICO
CD PROJETO_ARQUITETNICO
md ANTEPROJETO
md PROJETO_EXECUTIVO
md IMAGENS
md DOCUMENTOS

cls
echo.
echo.
echo.
echo.
echo ͻ
echo PASTAS CRIADAS COM SUCESSO
echo ͹
echo PROJETO ARQUITETNICO
echo
echo Anteprojeto
echo Projeto Executivo
echo Imagens
echo Documentos
echo ͼ
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
goto menu_pastas

:PROJ_INTERIORES
cls
cd %Dir_Atual%
cd OS_%n%_%nome%
md PROJETO_INTERIORES
CD PROJETO_INTERIORES
md ANTEPROJETO
md PROJETO_EXECUTIVO
md IMAGENS
md DOCUMENTOS

cls
echo.
echo.
echo.
echo.
echo ͻ
echo PASTAS CRIADAS COM SUCESSO
echo ͹
echo PROJETO INTERIROES
echo
echo Anteprojeto
echo Projeto Executivo
echo Imagens
echo Documentos
echo ͼ
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
goto menu_pastas

:PROJ_COMPLEMENTARES
cls
echo.
echo.
echo.
echo ͻ
echo Clientes Arquitetura - Criar Pastas
echo ͹
echo 1.Projeto Arquitetnico
echo 2.Projeto Interiores
echo -3.Projetos Complementares
echo a.Gesso e Iluminao
echo b.Eltrico e Hidraulico
echo 4.Criar todas as pastas
echo 5.Voltar
echo ͼ
echo.
set Choice=
set /P Choice=Digite a opo e pressione Enter:
if not '%Choice%'=='' SET Choice=%Choice:~0,1%
echo
if /I '%Choice%'=='1' GOTO PROJ_ARQUITETONICO
if /I '%Choice%'=='2' GOTO PROJ_INTERIORES
if /I '%Choice%'=='3' GOTO menu_pastas
if /I '%Choice%'=='a' GOTO GESSOILUMINAO
if /I '%Choice%'=='b' GOTO ELETRICOHIDRAULICO
if /I '%Choice%'=='4' GOTO TODASPASTAS
if /I '%Choice%'=='5' GOTO menu01
echo "%Choice%" Opo incorreta, tente novamente!
echo.
goto menu_pastas_projeto_arquitetonico

:GESSOILUMINAO
cls
cd %Dir_Atual%
cd OS_%n%_%nome%
md PROJETOS_COMPLEMENTARES
cd PROJETOS_COMPLEMENTARES
md PROJETO_GESSO_E_ILUMINAO
CD PROJETO_GESSO_E_ILUMINAO
md IMAGENS
md DOCUMENTOS

cls
echo.
echo.
echo.
echo.
echo ͻ
echo PASTAS CRIADAS COM SUCESSO
echo ͹
echo PROJETOS COMPLEMENTARES
echo GESSO E ILUMINAO
echo Imagens
echo Documentos
echo ͼ
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
goto menu_pastas

:ELETRICOHIDRAULICO
cls
cd %Dir_Atual%
cd OS_%n%_%nome%
md PROJETOS_COMPLEMENTARES
cd PROJETOS_COMPLEMENTARES
md PROJETO_ELTRICO_E_HIDRAULICO
CD PROJETO_ELTRICO_E_HIDRAULICO
md IMAGENS
md DOCUMENTOS

cls
echo.
echo.
echo.
echo.
echo ͻ
echo PASTAS CRIADAS COM SUCESSO
echo ͹
echo PROJETOS COMPLEMENTARES
echo ELTRICO E HIDRAULICO
echo Imagens
echo Documentos
echo ͼ
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
goto menu_pastas

:TODASPASTAS
goto PROJ_ARQUITETONICO
goto PROJ_INTERIORES
goto GESSOILUMINAO
goto ELETRICOHIDRAULICO

:MODIFICAR
cls
echo MENU EM CONTRUCAO
pause
goto menu01

:BACKUP
cls
echo MENU EM CONTRUCAO
pause
goto menu01

:SAIR
exit

:strlen
set c=-1
set s=%*
for /F "delims=" %%c in ('cmd /D /U /C echo %s% ^| find /V ""') do (set /a c+=1)

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Andr Luiz em Qui Abr 21, 2016 11:22 am

Ol Beto tem algumas coisas que no entendi direito.
Olha Beto se voc por esse 00001,voc est pondo um limite, de cliente ex: 00001...99999, mas se voc no por o 0, isso s uma questo de organizao, tem nada haver com programao, mas eu prefiro fazer sem o 0 e fica mais fcil.

A outra na parte do de NOME_CLIENTE, no caso voc quer que fique assim : BETO_CLIENTE isso ?
Eu estou fazendo aqui
avatar
Andr Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Qui Abr 21, 2016 4:06 pm

Boa tarde Andr Luiz

Sobre os "0" a frente, concorde que limite, mas nesse caso 9999 um limite mais do que superior ao que necessito, questo de padronizao mesmo

sobre NOME_CLIENTE me expressei mal, o correto seria OS_0001_NOME_SOBRENOME ou somente OS_0001_NOME

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Andr Luiz em Qui Abr 21, 2016 10:45 pm

Ok entendi no tive tempo de completar o script, mas dia 22/04 eu lhe entrego.
A voc esta usando o batch porqu sabe usar a linguagem? isso?
Mas eu vou mandar duas verses para voc uma em batch e outra kixtart que linguagem de script, mas fica mais fcil de fazer.

Assim o batch vai ser preciso usar dois batch no mesmo diretrio,
O segundo batch extra um externo que serve para cortar vaiveis no dia que eu postar o script eu do mais detalhes, voc no ter que mexer em nada.

Fica com Deus e at...
avatar
Andr Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Sex Abr 22, 2016 8:06 am

Conheo alguns comando bsicos em batch, esse script foi montado garimpando o forum e tentando entender cada rotina.

com relao ao cdigo que postei, dei uma atualizada, separei em mais de 1 arquivo .bat, adicionei um menu para pesquisar e otras opo como converter os nomes digitados para criar as pastas de clientes para Maisculo, e substituindo o "espao" por "underline"

fico no aguardo do seu script..

tive uma ideia para unir a funo de pesquisa que adicionei, com funes como:
* modificar o nome das pastas encontrada na pesquisa;
* incluir novas pastas dentro da encontrada na pesquisa (ex. OS_0001_NOME\ PROJETOS);
* apagar pasta encontrada na pesquisa

e por ai vai.. ideias e mais ideias, o que me falta conseguir montar por falta de conhecimento. mas continuo garimpando e aprendendo. Abs.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Andr Luiz em Sex Abr 22, 2016 9:02 pm

Ol jovem ele ficou bugado a opo 2 ai como estou sem tempo, ento no vou poder corrigir, mas olha ai e depois ponhe um opo para listar os clientes existente sei l, vai da sua necessidade, e tambm me esqueci de modificar algumas coisas para por os 0000, mas ele ta funcional na parte de criar, mas na de modificar ta com um erro que no reconheci rpido, mas depois eu olho tudo direitinho.
Up1- Baixar

Ele ta em arquivo .zip porqu tem mais de uma .bat ento preferi deixa-lo assim.
A o Vchar.bat no renomeie, mas se for fazer renomeie no script principal.

Outra depois eu te mando o mesmo programa porm em uma linguagem diferente para voc como mais simples e mais direto. Fica com Deus e at mais...(Ou fique apenas em paz!)
avatar
Andr Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Sex Abr 22, 2016 10:42 pm

Opa, Obrigado, vou dar uma estudada no que voc fez.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Andr Luiz em Sab Abr 23, 2016 4:58 pm

Rapaz se d eu posto aqui o outro script que fiz na outra linguagem, e depois eu concerto esse ai se voc quiser, mas quis fazer esse ai para voc ter uma ideia de como iria fazer.

Bom isso fica com Deus e at...(Ou fique em paz!)
avatar
Andr Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Sab Abr 23, 2016 7:03 pm

Se voc se disponibilizar em postar em outra linguagem. Eu e outros usurios poderemos estuda-lo.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Andr Luiz em Dom Abr 24, 2016 6:12 pm

Ol jovem, olha ai o script feito em outra linguagem ele esta quase completo, como no sei exatamente para que voc quer ele, ento fiz algo parecido com o outro em batch, mas agora ele pega senha para cada cliente e tem um "criptografia" na verdade ele s converte para HexaDecimal, s, bom isso d uma olhada.

Voc faz o seguinte extrai tudo em uma pasta e depois executa o "SysO.S.cmd"
e pronto.

A chave-mestre :sys-clear-all
Voc vai entender para que ela serve.
ela s funciona com a opo 2/4.

Up1

Site oficial da linguagem:http://www.kixtart.org/
Fica com Deus e at mais...(Ou fique em paz!)
avatar
Andr Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Seg Abr 25, 2016 10:44 am

Andr, vi seu script, ficou bem legal, basicamente tem as funes que necessito. uma pena eu no conhecer nada da linguagem kixtart. e como ja estou com o "projeto" de aplicativo em andamento em batch... Se voc puder dar uma ateno ao script que fez em batch, pois o menu "modificar" no est respondendo.
Obg.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Andr Luiz em Seg Abr 25, 2016 2:19 pm

Ol Beto, que bom que gostou, eu queria fazer em kixtart para v se voc se interessa pela linguagem porqu com o kix eu consegui fazer coisas que fica difcil fazer em batch etc... Eu estava pensando a um tempo em fazer um tpico bsico de como usar essa determina linguagem.
Mas no sei se o Boss permitiria j que, aqui foca em batch.

Enfim, possvel fazer com o batch, porm mais chato, no batch eu tive que criar uma "funo" para ver quantas letras tem no nome da pessoa e outras...

Mas eu vou d uma olhada sim na verso em batch, vou tentar colocar uma criptografia legazinha tambm, vou tentar fazer um igual a esse em kixtart.

Mas quero fazer algumas perguntas a voc.

Quais funcionalidade o app deve ter?
Tipo tem alguma que posso add, e as que eu coloquei esto boas?
Eu posso usar mais alguns externos?
E voc tem algum problema se app ficar muito grande?(Com grande quero dizer, uns 500kb mais ou menos.)
avatar
Andr Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Seg Abr 25, 2016 8:27 pm

Ento Andr, sobre suas perguntas.
eu consegui montar um script com as funcionalidades bsicas que so

Novo cliente
Modificar (renomear/Deletar)
Pesquisar/listar todos os clientes

com o tempo pretendo incrementar mais opes, mas para inicio essas seriam as bsicas.

eu estou empacando apenas em uma questo, que colocar os "0000" na numerao sequencial ex: 0001, 0002, 0003.... 0100, 0101 e por ai vai.

vou deixar aqui um cdigo que veio em resposta a um outro tpico referente a mesma questo.
cdigo esse criado por MasterMC

Cdigo:
@echo off
set /a n=0

:@
cls
call:strlen %n%

if %c%==3 if %n:~0,2% == 00 (set n=%n:~2,1%) else if %c%==3 if %n:~0,1% == 0 set n=%n:~1,2%

set /a n+=1

call:strlen %n%
if %c%==1 set n=00%n%
if %c%==2 set n=0%n%

for /f "tokens=*" %% in ('dir /b *.* ^| Find "OS_%n%_"') do goto:@

set /p "nome=Digite o nome >> "
md OS_%n%_%nome%
exit

:strlen
set c=-1
set s=%*
for /F "delims=" %%c in ('cmd /D /U /C echo %s% ^| find /V ""') do (set /a c+=1)

cdigo gera uma sequncia com (trs caracteres) 001, 002.
e eu no soube como adapta-lo para incrementar (um zero) deixando-o com (quatro caracteres) 0001, 0002, 0003.
mesmo que isso me limite a 9999 OS como j citado

Obrigado novamente pela ateno Andr
abs.


Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por MasterMC em Qua Abr 27, 2016 9:25 am

Cdigo:
@echo off
set /a n=0

:@
cls
call:strlen %n%

if %c%==4 if %n:~0,3% == 000 (set n=%n:~3,1%) else if %c%==4 if %n:~0,2% == 00 (set n=%n:~2,2%) else if %c%==4 if %n:~0,1% == 0 set n=%n:~1,3%

set /a n+=1

call:strlen %n%
if %c%==1 set n=000%n%
if %c%==2 set n=00%n%
if %c%==3 set n=0%n%

for /f "tokens=*" %% in ('dir /b *.* ^| Find "OS_%n%_"') do goto:@

set /p "nome=Digite o nome >> "
md OS_%n%_%nome%
exit

:strlen
set c=-1
set s=%*
for /F "delims=" %%c in ('cmd /D /U /C echo %s% ^| find /V ""') do (set /a c+=1)

Adaptei o cdigo de acordo com a necessidade. Bom ver que as pessoas ainda se interessam por batch. Obrigado pelos crditos em relao ao cdigo, isso raro.Wink
avatar
MasterMC

Idade : 20

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Qua Abr 27, 2016 9:34 am

MasterMC, eu que agradeo.

nada mais justo do que referenciar os cdigos, creio que isso o minimo no ?
Obg.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Qua Abr 27, 2016 4:31 pm

Ainda sobre o cdigo do MasterMC.. dessa forma ele fara a busca pelo ultimo nmero iniciando sempre pelo 0001, ou seja, se eu tiver 1000 , ele levar um certo tempo at chegar a ultima pasta.

existe alguma forma para ele iniciar a busca de "traz para frente" ?

att

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por MasterMC em Qua Abr 27, 2016 8:58 pm

A busca orientada a partir do valor inicial de "n". Algumas simples modificaes adequam o script para qualquer caso desejado. A questo da "demora" pode ser resolvida atravs da checagem da pasta com o maior nmero dentro do padro, usando um "for"e um "dir /b /a:d /o:-n", como no cdigo abaixo:

Cdigo:
@echo off
for /f "tokens=2 delims=_" %%a in ('dir /b /a:d /o:-n') do set n=%%a&goto:break
:break
echo %n%
pause>nul

O lado ruim disso que se alguma pasta for deletada, o "buraco" no ser reparado.
avatar
MasterMC

Idade : 20

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Qua Abr 27, 2016 9:52 pm

Tambm pensei no lado ruim da coisa..

tentando entender o codigo..
for: far uma "varredura"
tokens=2: seleciona a 2 palavra,
delims=_: onde as palavras so separadas por "underline"
%%a: varivel
dir: lista diretrios
/b: formatao bsica
/a:d : atributo de diretrio
/c:-n ordem alfabtica "ao contrrio"
do set n=%%a : atribui o resultado a vriavel %n%

nada como uma busca por dir/? hehe

mas se for isso mesmo, tenho que substituir no cdigo existente
set /a = n=0 pelo seu ultimo cdigo postado.

desculpa o incomodo.. estou aprendendo bastante aqui

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por MasterMC em Qua Abr 27, 2016 10:55 pm

No incmodo nenhum, pode ficar tranquilo. Sim, voc substitui o "set /a n=0" pelo trecho de cdigo q eu escrevi, ai ele comea automaticamente do diretrio com o maior nmero.
avatar
MasterMC

Idade : 20

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Qui Abr 28, 2016 12:01 am

Obrigado pela disponibilidade, Andr Luiz e MasterMC.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Qui Abr 28, 2016 11:03 am

MasterMC.

fui testar o cdigo e no funcionou.. substitui o "set /a n=0" pelo seu cdigo mas d "erro inesperado"

se puderes me ajudar. obg

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por MasterMC em Qui Abr 28, 2016 2:27 pm

Tenta assim:

Cdigo:
@echo off
for /f "tokens=2 delims=_" %%a in ('dir /b /a:d /o:-n') do (
set n=%%a
goto:break
)
:break

Se o erro insistir, tira o "@echo off" e me mande um "print screen".
avatar
MasterMC

Idade : 20

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Beto Rubini em Dom Maio 01, 2016 10:43 am

MasterMC, dessa forma deu tudo certo.
por mim o tpico pode ser dado como resolvido

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por MasterMC em Dom Maio 01, 2016 5:46 pm

Tpico fechado, problema resolvido.
avatar
MasterMC

Idade : 20

Voltar ao Topo Ir em baixo

Re: Sistema de pastas

Mensagem por Contedo patrocinado


Contedo patrocinado


Voltar ao Topo Ir em baixo

Ver o tpico anterior Ver o tpico seguinte Voltar ao Topo

- Tpicos similares

 
Permisso deste frum:
Voc no pode responder aos tpicos neste frum