Ir ao conteúdo
  • Cadastre-se

Bat Editar arquivo csv pelo batch


Posts recomendados

Bom, estou tentando criar um script que rode o famoso, incluir, editar, localizar e deletar em batch. Já consegui a parte do incluir, porém não achei nada que me ajude a conseguir editar o aquivo. Podem me ajudar? 

 

<CODE>

@echo off
    mode 80, 25
    color 8E

echo ----------------------
echo Incluir Usuario (I)
echo ----------------------
echo Editar Usuario (E)
echo ----------------------
echo Localizar Usuario (L)
echo ----------------------
echo Deletar Usuario (D)
echo ----------------------

set /p choice=

if %choice% equ i (
    cls
    goto :incluir)
if %choice% equ e (
    cls
    goto :editar)
if %choice% equ l (
    cls
    goto :localizar)
if %choice% equ d (
    cls
    goto:deletar)

 

:incluir

goto :name
   
:name

    echo Digite seu nome: 
    set /p nome=
    cls

    echo Digite seu sobrenome: 
    set /p sobrenome=
    cls
                                                                                
:age
    echo Digite sua data de nascimento: (dd/mm/aaaa) 
    set /p nasc=
    
    set /a ano=%date:~6,4%-%nasc:~6,4%
    set MesDiaAtual=%date:~3,2%%date:~0,2%
    set MesDiaNasc=%nasc:~3,2%%nasc:~0,2%

    if %MesDiaAtual% geq %MesDiaNasc% (set /a idade=%ano%) else (set /a idade=%ano%-1)
    
    cls
    
    if %idade% lss 18 (
        echo Precisas ter 18 anos ou mais para se cadastrar...
        pause>nul
        cls
        goto :age
    ) else (goto :pk)

:pk
    echo Digite seu CPF: (***.***.***-**)
    set /p cpf=
    cls

    echo ------------------------
    echo NOME: %nome% %sobrenome%
    echo ------------------------
    echo IDADE: %idade%
    echo ------------------------
    echo CPF: %cpf%
    echo ------------------------
    echo.
    
    echo Confirmar dados? (sim/não)
    set /p yn=

    if %yn% equ sim (
        cls
        >>UsersDatabase.csv echo %nome% %sobrenome%,%nasc%,%cpf%
        echo Dados cadastrados com sucesso!
    ) else (
        cls
        goto :name) 

pause>nul

Link para o comentário
Compartilhar em outros sites

se me lembro bem você tem que usar o comando for com opção de file parsing e de string parsing.

Microsoft docs comando for

 

Eu recomendaria você aprender alguma linguagem de programação como C ou javascrip, porque fazer isso em batch não é muito vantajoso.

fora que em batch você tem um limite de quão grande um arquivo pode ser analisado mais precisamente seria 65535 linhas, enquanto em C o mínimo e 4 gigabytes.

Link para o comentário
Compartilhar em outros sites

31 minutos atrás, Giovanni Uchoa disse:

@ricardo_br Por exemplo, editar um dado de um usuário já cadastrado no cvs.

a ideia seria criar um novo arquivo passando o antigo no comando for e salvando os cadastros que você não quer editar, então quando chegar a vez do que você quer editar ou apagar você edita e salva no arquivo e deixa o comando for terminar.

por fim seria só apagar o arquivo velho e renomear o novo para o mesmo nome do antigo.

 

Eu gostaria de dar um exemplo, mas já faz uns 10 anos que não mexo com batch.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!