Batch-Satti
Se você ainda não é um membro cadastre-se!

Existem centenas de scripts para quem é membro.

As categorias para os membros cadastrados são:

BATCH-SCRIPTS COMPLETO.
(Espaço onde são postados os scripts que tenham funcionalidade completa)
BADCONS VIRUS E TROJANS .
(Espaço onde são postados scripts e técnicas em vírus trojans e worm baseados em scripts )
SOMENTE PARA MEMBROS.
(Espaço destinado aos membros discutirem ou tirarem duvidas)
TUTORIAIS E EXPLICAÇÕES.
(Aqui são colocadas as explicações de comandos e técnicas para confecção de scripts )

EXISTEM MUITAS OUTRAS CATEGORIAS MÁS ESSAS SÃO AS PRINCIPAIS !

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

ASS. BOSS-HEAD


Pesquisa personalizada

Sistema de pastas

Ir em baixo

Sistema de pastas Empty Sistema de pastas

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

Boa noite

Gostaria de uma ajuda para a criação de um sistema de criação de pastas de clientes por ordem de serviço, sei que jáexiste um tópico a respeito, mas o mesmo não atendeu minhas expectativas..

o sistema seria mais ou menos assim:

um menu que contenha opção para "novo cliente", se for o primeiro inicia em "OS_0001_NOME_CLIENTE" em maiúsculo obrigatoriamente. Caso já exista algum cliente com OS ele apenas continue ex. 0002, 0003..

As pastas dos clientes terão subpastas que poderão ser escolhidas pelo usuário através de menus, seria legal que as subpastas também levassem o numero da OS.

A segunda opção do menu seria "modificar" onde escolhemos a pasta desejada e renomeamos.

Segue um modelo que está em construção. Caso alguém possa me ajudar ficarei eternamente grato hehe

Código:
@echo off
color 9F
mode con:lines=20
mode con:cols=65
title Sistema Clientes Escrit¢rio 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 Escrit¢rio 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 op‡Æo 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%" Op‡Æo 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 Arquitet“nico                 º
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 op‡Æo 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%" Op‡Æo incorreta, tente novamente!
echo.
goto menu_pastas_projeto_arquitetonico

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

cls
echo.
echo.
echo.
echo.
echo            ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo            º         PASTAS CRIADAS COM SUCESSO       º
echo            ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo            º  PROJETO ARQUITETâNICO                   º
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 Arquitet“nico                 º
echo            º  2.Projeto Interiores                    º
echo            º -3.Projetos Complementares               º
echo            º    a.Gesso e Ilumina‡Æo                  º
echo            º    b.El‚trico e Hidraulico               º
echo            º  4.Criar todas as pastas                 º
echo            º  5.Voltar                                º
echo            ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
set Choice=
set /P Choice=Digite a op‡Æo 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 GESSOILUMINAÇÂO
if /I '%Choice%'=='b' GOTO ELETRICOHIDRAULICO
if /I '%Choice%'=='4' GOTO TODASPASTAS
if /I '%Choice%'=='5' GOTO menu01
echo "%Choice%" Op‡Æo incorreta, tente novamente!
echo.
goto menu_pastas_projeto_arquitetonico

:GESSOILUMINAÇÂO
cls
cd %Dir_Atual%
cd OS_%n%_%nome%
md PROJETOS_COMPLEMENTARES
cd PROJETOS_COMPLEMENTARES
md PROJETO_GESSO_E_ILUMINAۂO
CD PROJETO_GESSO_E_ILUMINAۂO
md IMAGENS
md DOCUMENTOS

cls
echo.
echo.
echo.
echo.
echo            ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo            º         PASTAS CRIADAS COM SUCESSO       º
echo            ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo            º  PROJETOS COMPLEMENTARES                 º
echo            º  GESSO E ILUMINA€ÇO                      º
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_ELTRICO_E_HIDRAULICO
CD PROJETO_ELTRICO_E_HIDRAULICO
md IMAGENS
md DOCUMENTOS

cls
echo.
echo.
echo.
echo.
echo            ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo            º         PASTAS CRIADAS COM SUCESSO       º
echo            ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo            º  PROJETOS COMPLEMENTARES                 º
echo            º  ELTRICO 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 GESSOILUMINAÇÂO
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 : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Olá Beto tem algumas coisas que não entendi direito.
Olha Beto se você por esse 00001,você está pondo um limite, de cliente ex: 00001...99999, mas se você não por o 0, isso só uma questão de organização, tem nada haver com programação, mas eu prefiro fazer sem o 0 e fica mais fácil.

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

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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, é questão de padronização mesmo

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

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Ok entendi não 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 versões para você uma em batch e outra kixtart que é linguagem de script, mas fica mais fácil de fazer.

Assim o batch vai ser preciso usar dois batch no mesmo diretório,
O segundo batch extra é um externo que serve para cortar vaiáveis no dia que eu postar o script eu do mais detalhes, você não terá que mexer em nada.

Fica com Deus e até...
André Luiz
André Luiz

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Conheço alguns comando básicos em batch, esse script foi montado garimpando o forum e tentando entender cada rotina. 

com relação ao código que postei, dei uma atualizada, separei em mais de 1 arquivo .bat, adicionei um menu para pesquisar e otras opção como converter os nomes digitados para criar as pastas de clientes para Maiúsculo, e substituindo o "espaço" por "underline"

fico no aguardo do seu script..

tive uma ideia para unir a função de pesquisa que adicionei, com funções 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 : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Olá jovem ele ficou bugado a opção 2 ai como estou sem tempo, então não vou poder corrigir, mas olha ai e depois ponhe um opção para listar os clientes existente sei lá, vai da sua necessidade, e também 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 não reconheci rápido, mas depois eu olho tudo direitinho.
Up1 - Baixar

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

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

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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!)
André Luiz
André Luiz

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 usuários poderemos estuda-lo.

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 não sei exatamente para que você quer ele, então 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 opção 2/4.

Up1

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

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 funções que necessito. uma pena eu não conhecer nada da linguagem kixtart. e como ja estou com o "projeto" de aplicativo em andamento em batch... Se você puder dar uma atenção ao script que fez em batch, pois o menu "modificar" não está respondendo.
Obg.

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 difícil fazer em batch etc... Eu estava pensando a um tempo em fazer um tópico básico de como usar essa determina linguagem.
Mas não sei se o Boss permitiria já que, aqui foca em batch.

Enfim, é possível fazer com o batch, porém é mais chato, no batch eu tive que criar uma "função" para ver quantas letras tem no nome da pessoa e outras...

Mas eu vou dá uma olhada sim na versão em batch, vou tentar colocar uma criptografia legazinha também, 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 estão 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.)
André Luiz
André Luiz

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Então André, sobre suas perguntas.
eu consegui montar um script com as funcionalidades básicas que são

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

com o tempo pretendo incrementar mais opções, mas para inicio essas seriam as básicas.

eu estou empacando apenas em uma questão, que é colocar os "0000" na numeração  sequencial ex: 0001, 0002, 0003.... 0100, 0101 e por ai vai.

vou deixar aqui um código que veio em resposta a um outro tópico referente a mesma questão.
código esse criado por MasterMC

Código:
@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)

código gera uma sequência com (três caracteres) 001, 002.
e eu não 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 atenção André
abs.


Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Código:
@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 código de acordo com a necessidade. Bom ver que as pessoas ainda se interessam por batch. Obrigado pelos créditos em relação ao código, isso é raro. Wink
MasterMC
MasterMC

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

MasterMC, eu que agradeço.

nada mais justo do que referenciar os códigos, creio que isso é o minimo não é?
Obg.

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Ainda sobre o código do MasterMC.. dessa forma ele fara a busca pelo ultimo número 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 : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 modificações adequam o script para qualquer caso desejado. A questão da "demora" pode ser resolvida através da checagem da pasta com o maior número dentro do padrão, usando um "for" e um "dir /b /a:d /o:-n", como no código abaixo:

Código:
@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" não será reparado.
MasterMC
MasterMC

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Também pensei no lado ruim da coisa..

tentando entender o codigo..
for: fará uma "varredura"
tokens=2: seleciona a 2 palavra,
delims=_: onde as palavras são separadas por "underline"
%%a: variável
dir: lista diretórios
/b: formatação básica
/a:d : atributo de diretório
/c:-n ordem alfabética "ao contrário"
do set n=%%a : atribui o resultado a váriavel %n%

nada como uma busca por dir/? hehe

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

desculpa o incomodo.. estou aprendendo bastante aqui

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Não é incômodo nenhum, pode ficar tranquilo. Sim, você substitui o "set /a n=0" pelo trecho de código q eu escrevi, ai ele começa automaticamente do diretório com o maior número.
MasterMC
MasterMC

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

MasterMC.

fui testar o código e não funcionou.. substitui o "set /a n=0" pelo seu código mas dá "erro inesperado"

se puderes me ajudar. obg

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Tenta assim:

Código:
@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".
MasterMC
MasterMC

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty 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 tópico pode ser dado como resolvido

Beto Rubini

Idade : 27

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

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

Tópico fechado, problema resolvido.
MasterMC
MasterMC

Idade : 22

Voltar ao Topo Ir em baixo

Sistema de pastas Empty Re: Sistema de pastas

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum