Ir ao conteúdo
  • Cadastre-se

ricardo_br

Membro Pleno
  • Posts

    7.499
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de ricardo_br em .bat para criar pastas para cada arquivo existente e mover foi marcado como solução   
    Veja se é isso. só trocar na parte "set Fonte=" e set "Destino=" para o local que você quiser...
     

     
     
     
     
    @echo off set Fonte=%userprofile%\desktop\Fonte set Destino=%userprofile%\desktop\Destino IF /i not exist "%Destino%" md "%Destino%" for /f "tokens=1* delims=-" %%a in ('dir /b /a-d "%Fonte%"') do call :CriarPasta "%%~a" "%%~b" exit :CriarPasta set "Pasta=%~1_1" If /i not exist "%Destino%\%Pasta%" md "%Destino%\%Pasta%" move "%Fonte%\%~1-%~2" "%Destino%\%Pasta%" goto :EOF  
  2. O post de ricardo_br em .bat para criar pastas para cada arquivo existente e mover foi marcado como solução   
    Veja se é isso. só trocar na parte "set Fonte=" e set "Destino=" para o local que você quiser...
     

     
     
     
     
    @echo off set Fonte=%userprofile%\desktop\Fonte set Destino=%userprofile%\desktop\Destino IF /i not exist "%Destino%" md "%Destino%" for /f "tokens=1* delims=-" %%a in ('dir /b /a-d "%Fonte%"') do call :CriarPasta "%%~a" "%%~b" exit :CriarPasta set "Pasta=%~1_1" If /i not exist "%Destino%\%Pasta%" md "%Destino%\%Pasta%" move "%Fonte%\%~1-%~2" "%Destino%\%Pasta%" goto :EOF  
  3. O post de ricardo_br em Erro na execução de aquivo .vbs =====> "objshell.run" foi marcado como solução   
    @Johny1711 Veja se funciona agora, modifique o VBS da seguinte forma:
     
    set objshell = wscript.createobject("Wscript.Shell") objshell.run("cmd /c ""C:\Users\Sony Vaio\Desktop\PROGRAMAS E SCRIPTS\Script Temporizador 10 segundos.bat""") ,0,true  
  4. O post de ricardo_br em O explorer possui alguma funcionalidade para limitar tipos de arquivo? foi marcado como solução   
    Acredito que não tenha essa função nativa. Você pode ocultar alguns arquivos específicos ou usar script para mover automaticamente alguns tipos de arquivos para outro local.
  5. O post de ricardo_br em O explorer possui alguma funcionalidade para limitar tipos de arquivo? foi marcado como solução   
    Acredito que não tenha essa função nativa. Você pode ocultar alguns arquivos específicos ou usar script para mover automaticamente alguns tipos de arquivos para outro local.
  6. O post de ricardo_br em Especificar arquivos com o comando xcopy foi marcado como solução   
    Algo assim daria certo no prompt de comando mais acho que é mais simples usar 2 linhas mesmo:
     
    for %a in ("c:\Users\Administrador\Nova_pasta1" "c:\Users\Administrador\Nova_pasta2") do xcopy "%~a" c:\pasta_de_destino /s /e  
    Dentro de um arquivo em lotes (batch) você tem que usar 2 sinais de porcentagem ao invês de um:
     
    for %%a in ("c:\Users\Administrador\Nova_pasta1" "c:\Users\Administrador\Nova_pasta2") do xcopy "%%~a" c:\pasta_de_destino /s /e  
  7. O post de ricardo_br em Bat para copiar arquivos foi marcado como solução   
    @Vinicius Zin Alves Basta modificar levemente o seu bat. Na parte set seven= você deverá colocar o caminho para o arquivo 7z.exe que é a versão de prompt de comando do 7zip:
     
    @ECHO OFF :: Informe aqui o caminho para o arquivo 7z.exe: set Seven=C:\Program Files\7-Zip\7z.exe cd D:\Bases\ mkdir "%1" cd "%1" Xcopy "\\%PathBases%\Bases\BasesRecebidas\%1" "D:\Bases\%1" /E /H /C /I /Y for /f "Delims=" %%a in ('dir /b *.zip *.7z *.rar') do ( "%Seven%" x -r "%%a" -o"%%~na\" del /q "%%a" ) start "" "D:\Bases\%1" @Exit  
  8. O post de ricardo_br em como coloco tipo (set teste=%teste%+1) de um jeito que funcione foi marcado como solução   
    Você tem que usar:
     
    set /a variavel+=1 ou set /a variavel=%variavel% + 1  
  9. O post de ricardo_br em Copiar Arquivos listados no Excel para outro local foi marcado como solução   
    Veja se é isso:
     
    @echo off :: Informe aqui a fonte dos arquivos: set Fonte=Fonte :: Informe aqui a pasta base de Destino: set Destino=Destino :: Informe aqui onde está a tabela em formato csv set Tabela=Tabela.csv set PastaDoDia=%Date% - %Time:~0,8% set PastaDoDia=%PastaDoDia:/=-% set PastaDoDia=%PastaDoDia::=-% if /i not exist "%Destino%\%PastaDoDia%\" md "%Destino%\%PastaDoDia%\" IF /i exist "%temp%\ArquivosNaoExistem.txt" del /q "%temp%\ArquivosNaoExistem.txt" echo Arquivos que não existem na fonte:>>"%temp%\ArquivosNaoExistem.txt" echo.>>"%temp%\ArquivosNaoExistem.txt" For /f "usebackq Delims=" %%a in ("%Tabela%") do ( IF /i exist "%Fonte%\%%~na.pdf" copy /y "%Fonte%\%%~na.pdf" "%Destino%\%PastaDoDia%\" IF /i exist "%Fonte%\%%~na.dwg" copy /y "%Fonte%\%%~na.dwg" "%Destino%\%PastaDoDia%\" IF /i Not Exist "%Fonte%\%%~na.pdf" (IF /i not exist "%Fonte%\%%~na.dwg" echo %%a >>"%temp%\ArquivosNaoExistem.txt") ) start notepad.exe "%temp%\ArquivosNaoExistem.txt"  
  10. O post de ricardo_br em como criar um arquivo .bat para fazer download de arquivos de log via ftp foi marcado como solução   
    @AndCavichioli Para conectar com esse arquivo "key'" você deve mudar o comando:
     
    %Winscp%" /command "open ""sftp://%Usuario%@%Servidor%"" -privatekey=""{CaminhoParaArquivoKey}""" "get ""%PastaR%/*"" -filemask=%Extensao%|*\ ""%PastaL%\""" "exit  
    Onde você deverá substituir {CaminhoParaArquivoKey} pelo caminho do arquivo key que você tem...
  11. O post de ricardo_br em Como fazer o script ler que o usuário tem certa idade dependendo do dia inserido foi marcado como solução   
    Criando um simples banco de dados de clientes:
     

     
    Ele salva os dados dos clientes num arquivo chamdo Clientes.csv...
     
    @echo off color 8E mode 80, 25 for /f %%a in ('"prompt $H&for %%b in (1) do rem"') do set "BS=%%a" :MenuPrincipal set Opcao= cls echo. echo Menu Principal echo. echo (C) Cadastrar Cliente echo. echo (V) Ver Clientes echo. echo (L) Localizar Cliente echo. echo (D) Deletar Cadastro echo. set /p "Opcao=%BS% Opcao: " IF /i "%Opcao%"=="v" goto :Ver IF /i "%Opcao%"=="c" goto :Cadastrar IF /i "%Opcao%"=="d" goto :Deletar IF /i "%Opcao%"=="l" (goto :Localizar) else (goto :MenuPrincipal) :Cadastrar cls set /p "nome=%BS% Digite seu nome: " cls set /p "sobrenome=%BS% Digite seu sobrenome: " :age cls set /p "nasc=%BS% Digite sua data de nascimento: (dd/mm/aaaa): " 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 ------------------------ pause>nul >>Clientes.csv echo %nome%;%sobrenome%;%idade%;%cpf%;%nasc% goto :MenuPrincipal :Ver cls echo. echo Lista de Clientes: echo ------------------ echo Indice; Nome; Sobrenome; Idade; CPF; Data Nascimento for /f "tokens=1-6 Delims=;[]" %%a in ('type Clientes.csv ^|find /i /v /n ""') do echo %%a; %%b; %%c; %%d; %%e; %%f echo. pause goto :MenuPrincipal :Localizar set Pesquisar= cls echo. echo Digite o nome do cliente: set /p "Pesquisar=%BS% Pesquisar: " echo. echo Indice; Nome; Sobrenome; Idade; CPF; Data Nascimento for /f "tokens=1-6 Delims=;[]" %%a in ('type Clientes.csv ^|find /n /i "%Pesquisar%"') do echo %%a; %%b; %%c; %%d; %%e; %%f echo. pause goto :MenuPrincipal :Deletar set Indice= cls echo. echo Digite o Indice do Cliente que deseja apagar "c" para cancelar: IF /i "%Indice%"=="c" goto :MenuPrincipal set /p "Indice=%BS% Indice: " for /f "tokens=1-6 Delims=;[]" %%a in ('type Clientes.csv ^|find /i /n /v ""') do IF NOT "%%a"=="%Indice%" >>"Clientes.tmp" echo %%b;%%c;%%d;%%e;%%f del /q "Clientes.csv" ren "Clientes.tmp" "Clientes.csv" goto :MenuPrincipal  
  12. O post de ricardo_br em Alterar arquivos com bat foi marcado como solução   
    Veja agora...
     
     
     
     
    Teste3.zip
  13. O post de ricardo_br em Remover Arquivos duplicados Windows Server foi marcado como solução   
    Copie o código abaixo e salve no bloco de notas. Salve com o nome que quiser mais com extensão *.bat.
     
    Arraste e solte a pasta base contendo os (2) no arquivo batch...
     
    @echo off IF /i exist "%~1" (If /i not exist "%~1\" exit) else (exit) pushd "%~1" for /f "delims=" %%a in ('dir /b /a-d /s *.* ^|find /i "(2)"') do del /q "%%a" for /f "delims=" %%a in ('dir /b /ad /s *.* ^|sort /r ^|find /i "(2)"') do RD /q /s "%%a"  

  14. O post de ricardo_br em Iniciação no mundo .Bat foi marcado como solução   
    Se você começa do zero mesmo demora mais tempo, se você já conhece prompt de comando já está meio caminho andado porque arquivos batch na verdade são apenas uma sequência de comandos do prompt.
     
    Se fala inglês aqui teria 95 aulas do John Hammond de 5 minutos cada que começa bem no início e vai avançando tem também um em português do Instituto de scripts com 31 aulas em português
     
    Curso Batch John Hammond
    Curso Batch Instituto de Scripts
     
    Eu diria que leva uns 3 meses para ficar legal fazendo uma hora por dia. Se você está começando agora talvez prefira aprender powershell ao invés de batch já que essa é a tecnologia de scripts mais atual da microsoft.
  15. O post de ricardo_br em Ping alto, internet normal foi marcado como solução   
    Pois é acredito que você esteja com CGNAT mesmo. Isso acontece quando o provedor ainda usa IPV4 mais não tem IPs disponíveis suficientes para dar um IP para cada usuário, ai atravês desse CGNAT vários usuários desse provedor compartilham o mesmo IP (179.48.91.153) e acredito que por isso seu PING esteja alto. Uma hora seu provedor provavelmente vai mudar de IPV4 para IPV6 que tem muito mais IPs disponíveis para distribuição mais até lá vai ficar assim.
  16. O post de ricardo_br em Apagar duas linhas em BAT foi marcado como solução   
    Tente esse código:
     
    @echo off if not exist "%~1" exit SetLocal EnableDelayedExpansion chcp 1252 >nul set Arquivo=%~1 set PChaves=Palavras.txt set ATemp=%~n1.tmp for /f "tokens=1* Delims=]" %%a in ('type "%Arquivo%" ^|find /i /v /n ""') do Call :Editar "%%~b" del /q "%Arquivo%" ren "%ATemp%" "%~nx1" exit :Editar set IgualABC= IF /i "%ApagaPLinha%"=="sim" ( set ApagaPLinha=não goto :EOF ) For /f "usebackq delims=" %%a in ("%PChaves%") do ( echo "%~1" |find /i "%%a" 1>nul 2>nul IF !Errorlevel! EQU 0 set IgualABC=sim ) IF /i not "%IgualABC%"=="sim" (>>"%ATemp%" echo/%~1) else (set ApagaPLinha=sim) goto :EOF  

     
  17. O post de ricardo_br em Usar GIF como wallpaper no Windows 10, sem programas foi marcado como solução   
    No máximo o primeiro frame do gif vai aparecer, mais o gif não vai ficar animado.
  18. O post de ricardo_br em Usar GIF como wallpaper no Windows 10, sem programas foi marcado como solução   
    No máximo o primeiro frame do gif vai aparecer, mais o gif não vai ficar animado.
  19. O post de ricardo_br em Renomear arquivos com batch foi marcado como solução   
    Veja se é isso:
     

     
     
    No caso na parte set Lista do batch você deverá informar onde está o arquivo com a lista ex:
     
    set Lista=%userprofile%\desktop\ListaDeNomes.txt
     
    Ai faça uma cópia dos arquivos para o caso de algo sair errado.
     
    Em seguida arraste a pasta onde estão os arquivos para o batch.
     
    @echo off :: Arraste a pasta onde estão os arquivos para o batch :: Informe aqui o arquivo com a lista de nomes: set Lista=%userprofile%\desktop\ListaDeNomes.txt if exist "%~1" (if not exist "%~1\" exit) else (exit) set "Pasta=%~1" pushd "%Pasta%" for /f "tokens=1,2 usebackq" %%a in ("%Lista%") do if /i exist "%%a" ren "%%a" "%%b.txt" exit  
  20. O post de ricardo_br em Windows não salva valores cadastrados como variáveis de ambiente foi marcado como solução   
    Não é assim que se inclui caminhos no %path%
     
    O que é isso?
    Nome da Variável: C:\Users\ELAINE\APPDATA\ROAMING\PHP
    Valor da Variável: C:\Users\ELAINE\APPDATA\ROAMING\PHP
     
    Não é assim que as variáveis são usadas....
     
    Abra as variáveis de usuário, clique 2x sobre a variável %Path%, clique em Novo ai inclua os caminhos que você precisa....
     

     
     
     
     
  21. O post de ricardo_br em Extensões e compactadores de arquivos foi marcado como solução   
    Eu chutaria jpg porque já são arquivos bastante comprimidos. Acho que seria mais adequado postar essa questão na parte de "Programas" ou "Windows 10, 11..."
  22. O post de ricardo_br em Usar uma variavel ja definida para definirr outra variavel em batch no CMD foi marcado como solução   
    Mais dentro do loop? Porque o valor depois de var depende de %contador% correto?
     
    Ai você teria que usar o echo %var1% %var2% depois que o loop já terminou...
     
    @echo off :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim cls echo %var1% timeout /t 1 >nul cls echo %var2% timeout /t 1 >nul cls echo %var3% timeout /t 1 >nul cls echo %var4% timeout /t 1 >nul cls echo %var5% timeout /t 1 >nul cls echo %var6% timeout /t 1 >nul cls echo %var7% timeout /t 1 >nul cls echo %var8% timeout /t 1 >nul cls echo %var9% timeout /t 1 >nul cls echo %var10% timeout /t 1 >nul cls echo %var11% timeout /t 1 >nul cls echo %var12% timeout /t 1 >nul cls echo %var13% timeout /t 1 >nul cls echo %var14% timeout /t 1 >nul cls echo %var15% timeout /t 1 >nul cls echo %var16% timeout /t 1 >nul cls echo %var17% timeout /t 1 >nul cls echo %var18% timeout /t 1 >nul cls echo %var19% timeout /t 1 >nul cls echo %var20% timeout /t 1 >nul pause  
     
    Ou então algo assim:
     
    @echo off SetLocal EnableDelayedExpansion :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim for /L %%a in (1,1,20) do echo !var%%a! pause  
  23. O post de ricardo_br em Usar uma variavel ja definida para definirr outra variavel em batch no CMD foi marcado como solução   
    Mais dentro do loop? Porque o valor depois de var depende de %contador% correto?
     
    Ai você teria que usar o echo %var1% %var2% depois que o loop já terminou...
     
    @echo off :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim cls echo %var1% timeout /t 1 >nul cls echo %var2% timeout /t 1 >nul cls echo %var3% timeout /t 1 >nul cls echo %var4% timeout /t 1 >nul cls echo %var5% timeout /t 1 >nul cls echo %var6% timeout /t 1 >nul cls echo %var7% timeout /t 1 >nul cls echo %var8% timeout /t 1 >nul cls echo %var9% timeout /t 1 >nul cls echo %var10% timeout /t 1 >nul cls echo %var11% timeout /t 1 >nul cls echo %var12% timeout /t 1 >nul cls echo %var13% timeout /t 1 >nul cls echo %var14% timeout /t 1 >nul cls echo %var15% timeout /t 1 >nul cls echo %var16% timeout /t 1 >nul cls echo %var17% timeout /t 1 >nul cls echo %var18% timeout /t 1 >nul cls echo %var19% timeout /t 1 >nul cls echo %var20% timeout /t 1 >nul pause  
     
    Ou então algo assim:
     
    @echo off SetLocal EnableDelayedExpansion :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim for /L %%a in (1,1,20) do echo !var%%a! pause  
  24. O post de ricardo_br em Usar uma variavel ja definida para definirr outra variavel em batch no CMD foi marcado como solução   
    Mais dentro do loop? Porque o valor depois de var depende de %contador% correto?
     
    Ai você teria que usar o echo %var1% %var2% depois que o loop já terminou...
     
    @echo off :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim cls echo %var1% timeout /t 1 >nul cls echo %var2% timeout /t 1 >nul cls echo %var3% timeout /t 1 >nul cls echo %var4% timeout /t 1 >nul cls echo %var5% timeout /t 1 >nul cls echo %var6% timeout /t 1 >nul cls echo %var7% timeout /t 1 >nul cls echo %var8% timeout /t 1 >nul cls echo %var9% timeout /t 1 >nul cls echo %var10% timeout /t 1 >nul cls echo %var11% timeout /t 1 >nul cls echo %var12% timeout /t 1 >nul cls echo %var13% timeout /t 1 >nul cls echo %var14% timeout /t 1 >nul cls echo %var15% timeout /t 1 >nul cls echo %var16% timeout /t 1 >nul cls echo %var17% timeout /t 1 >nul cls echo %var18% timeout /t 1 >nul cls echo %var19% timeout /t 1 >nul cls echo %var20% timeout /t 1 >nul pause  
     
    Ou então algo assim:
     
    @echo off SetLocal EnableDelayedExpansion :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim for /L %%a in (1,1,20) do echo !var%%a! pause  
  25. O post de ricardo_br em Usar uma variavel ja definida para definirr outra variavel em batch no CMD foi marcado como solução   
    Mais dentro do loop? Porque o valor depois de var depende de %contador% correto?
     
    Ai você teria que usar o echo %var1% %var2% depois que o loop já terminou...
     
    @echo off :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim cls echo %var1% timeout /t 1 >nul cls echo %var2% timeout /t 1 >nul cls echo %var3% timeout /t 1 >nul cls echo %var4% timeout /t 1 >nul cls echo %var5% timeout /t 1 >nul cls echo %var6% timeout /t 1 >nul cls echo %var7% timeout /t 1 >nul cls echo %var8% timeout /t 1 >nul cls echo %var9% timeout /t 1 >nul cls echo %var10% timeout /t 1 >nul cls echo %var11% timeout /t 1 >nul cls echo %var12% timeout /t 1 >nul cls echo %var13% timeout /t 1 >nul cls echo %var14% timeout /t 1 >nul cls echo %var15% timeout /t 1 >nul cls echo %var16% timeout /t 1 >nul cls echo %var17% timeout /t 1 >nul cls echo %var18% timeout /t 1 >nul cls echo %var19% timeout /t 1 >nul cls echo %var20% timeout /t 1 >nul pause  
     
    Ou então algo assim:
     
    @echo off SetLocal EnableDelayedExpansion :prox set /a Contador=%Contador% + 1 echo %Contador% >%Contador%.ini set /p var%Contador%=<%Contador%.ini if %Contador% GEQ 20 goto :Fim goto prox :Fim for /L %%a in (1,1,20) do echo !var%%a! pause  

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...