-
Posts
7.499 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
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
-
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
-
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
-
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.
-
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.
-
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
-
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
-
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
-
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"
-
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...
-
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
-
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"
-
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.
-
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.
-
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
-
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.
-
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.
-
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
-
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....
-
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..."
-
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
-
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
-
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
-
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