Script de Reparo Rápido do Windows

O script abaixo executa uma série de verificações e correções automáticas no Windows, incluindo reparo de arquivos do sistema, restauração da imagem do sistema, verificação de disco, reset de rede, limpeza de arquivos temporários, reinstalação de aplicativos nativos e reset dos componentes do Windows Update.

Esse tipo de script é útil para resolver problemas comuns como erros do sistema, falhas de atualização, problemas de rede e lentidão causada por arquivos temporários.


Código do Script

Copie o código abaixo e salve em um arquivo com extensão .bat, por exemplo:

reparo_windows.bat

@echo off
title Reparo rapido do Windows - Emerson
echo Iniciando...

:: 1 - Verificar e reparar arquivos do sistema
sfc /scannow

:: 2 - Restaurar a imagem do Windows
DISM /Online /Cleanup-Image /RestoreHealth

:: 3 - Agendar verificacao do disco (sera executado no reinicio)
chkdsk C: /f /r

:: 4 - Reset de rede completo
ipconfig /flushdns
ipconfig /release
ipconfig /renew
netsh winsock reset
netsh int ip reset

:: 5 - Limpeza de temporarios
del /s /f /q "%TEMP%\*.*" >nul 2>&1
for /d %%i in ("%TEMP%\*") do rd /s /q "%%i" >nul 2>&1

:: 6 - Reinstalar apps nativos
powershell.exe -Command "Get-AppXPackage -AllUsers | Foreach {Try {Add-AppxPackage -DisableDevelopmentMode -Register '$($_.InstallLocation)\AppXManifest.xml'} Catch {}}"

:: 7 - Reset do Windows Update
net stop wuauserv
net stop bits
net stop cryptsvc
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start bits
net start cryptsvc

echo Finalizado. Reinicie o PC.
pause

O que o script faz

1. Verificação de arquivos do sistema

  • Executa o sfc /scannow para detectar e reparar arquivos corrompidos do Windows.

2. Reparo da imagem do Windows

  • Utiliza o DISM para restaurar a integridade da imagem do sistema.

3. Verificação do disco

  • Agenda o chkdsk para corrigir erros no disco na próxima reinicialização.

4. Reset completo da rede

  • Limpa DNS, renova IP e redefine as configurações de rede.

5. Limpeza de arquivos temporários

  • Remove arquivos temporários da pasta %TEMP%.

6. Reinstala aplicativos nativos

  • Re-registra todos os aplicativos padrão do Windows via PowerShell.

7. Reset do Windows Update

  • Reinicia os serviços e recria as pastas usadas pelo Windows Update.

Importante

Para que todas as funções funcionem corretamente, execute o arquivo como Administrador:

  1. Clique com o botão direito no arquivo .bat
  2. Selecione Executar como administrador

Ao final do processo, reinicie o computador para que todas as correções sejam aplicadas.

Instalando o PDI 9.3 no Windows 10/11

Passos:

Opcionalmente, para fixar o atalho no menu iniciar, crie uma pasta (ex: Extras) em %appdata%/Microsoft/Windows/Start Menu/Programs/ e mova o arquivo do atalho para essa pasta. Na sequencia, abra o menu iniciar e procure pelo nome do atalho, a opção de fixar em iniciar estará disponível.

Scroll natural do mouse no Windows 10/11

Se você também alterna o uso entre desktops Linux/Mac/Windows já percebeu que o único sistema que inverte a ordem do scroll no mouse é o Windows.

Graças a esse comando abaixo, executado no power shell em modo administrador, você pode alterar esse comportamento.

$mode = Read-host "How do you like your mouse scroll (0 or 1)?"; Get-PnpDevice -Class Mouse -PresentOnly -Status OK | ForEach-Object { "$($_.Name): $($_.DeviceID)"; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Enum\$($_.DeviceID)\Device Parameters" -Name FlipFlopWheel -Value $mode; "+--- Value of FlipFlopWheel is set to " + (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Enum\$($_.DeviceID)\Device Parameters").FlipFlopWheel + "`n" }

Não esqueça de reiniciar seu Windows após a execução desse comando.

Fonte: https://gist.github.com/gagarine/d313ee6510009b3f3973c6e0929b1e1c

Configurando Apache/PHP no Scoop para CodeIgniter

O Scoop é um sistema de gerenciamento de pacotes para Windows similar ao APT para Linux e BREW para MacOS onde a manutenção do processo de instalação/remoção de aplicativos é feito diretamente no prompt de comando com poucos ou apenas um único comando.

CodeIgniter é um framework PHP para desenvolvimento de aplicativos WEB.

Com o scoop é possível instalar o Apache Web Server junto com uma versão específica do PHP para configurar um ambiente de desenvolvimento.

A instalação do Scoop pode ser feita seguindo essa documentação: https://scoop-docs.vercel.app/

Importante habilitar os buckets php, extras e versions no scoop:

  • scoop bucket add extras
  • scoop bucket add php
  • scoop bucket add versions

Após a instalação os seguintes comandos são utilizados para instalar Apache/PHP:

  • scoop install apache php7.4
  • scoop install sudo
  • iex (new-object net.webclient).downloadstring('https://gist.githubusercontent.com/nilkesede/c98a275b80b6d373131df82eaba96c63/raw/apache-php-init.ps1')
  • sudo httpd -k install -n Apache2.4
  • sudo net start apache

A configuração do PHP através do arquivo php.ini deve ser feita dentro da pasta persist\php7.4 do scoop para que as modificações permaneçam inalteradas após atualizações do PHP.

Por padrão, o apache não  configurou o caminho do php.ini para a pasta persist, então, troque a linha

PHPIniDir "D:\Aplicativos\Scoop\apps\php7.4\current"

por

PHPIniDir "D:\Aplicativos\Scoop\persist\php7.4"

no httpd.conf de acordo com o caminho na sua máquina.

Dicas:

  1. é necessário reiniciar o Windows para receber as alterações  feitas no PATH do sistema durante o processo
  2. qualquer alteração em  httpd.conf ou php.ini, o serviço do apache deve ser reiniciado
  3. para ver algum erro de configuração no php, use o phpinfo e também o comando php -v no prompt
  4. inclua o caminho do php corrente no path do sistema (necessário para a carga das extensões). ex: D:\Aplicativos\Scoop\apps\php7.4\current
  5. carregue a extensão intl (necessária para o CodeIgniter)

Apache

Em httpd.conf da pasta persist, habilite o módulo rewrite e remove o comentário da linha

Include conf/extra/httpd-vhosts.conf

para habilitar a leitura dos hosts virtuais em httpd-hosts.conf da pasta persist.

Adicionar a linha abaixo no http.conf dentro de <IfModule dir_module>

 DirectoryIndex index.php

Exemplo de vhost para um projeto:

<VirtualHost *:80>
ServerAdmin rdconsolo@gmail.com

ErrorLog "D:\Projetos\logs\error_log"
CustomLog "D:\Projetos\logs\access_log" common

Alias "/project-root" "D:\Projetos\project-root\public"
<Directory "D:\Projetos\project-root">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted

RewriteEngine On
RewriteBase /project-root/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
</VirtualHost>

Scoop Installer

O Scoop Installer é um gerenciador de aplicativos para Windows nos moldes de um apt do Linux ou um brew do MacOS.

Esses gerenciadores permitem instalar, remover e atualizar aplicativos do sistema operacional pelo prompt de comando. Isso pode parecer “defasado” mas na verdade os benefícios sobre os instaladores tradicionais em modo gráfico são superiores como, por exemplo:

  • instalação sem passos
  • escolha de uma versão específica do aplicativo
  • velocidade de resposta
  • administração centralizada

Para saber como instalar e usar esse aplicativo, veja os docs em https://scoop-docs.vercel.app/docs

Alguns comando úteis:

  • scoop update
  • scoop update –all
  • scoop search <aplicativo>
  • scoop install <aplicativo>
  • scoop install <aplicativo>@<versão>
  • scoop list
  • scoop status
  • scoop bucket add <bucket>
  • scoop uninstall <aplicativo>

Buckets úteis:

  • extras
  • versions
  • php
  • nerd-fonts

O Scoop não remove automaticamente as versões anteriores dos aplicativos atualizados. Para fazer isso, execute o comando “scoop cleanup *”.

Para trocar a versão de um pacote quando mantiver mais de uma instalada, use o comando scoop reset <app>@<version>.

Área de Notificação não abre no Windows 10

Após uma atualização do Windows Update um notebook passou a não responder o comando de abrir a área de notificação e também o calendário.

A única solução foi registrar novamente o componente usando o comando abaixo dentro do PowerShell em modo administrativo:

Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppxManifest.xml” -verbose }

Atalhos no menu iniciar do Windows 10

Nem todos aplicativos possuem assistentes de instalação para deixar atalhos no menu iniciar.

Nesses casos temos que botar a mão na massa, ou melhor, no terminal, para deixar esses atalhos com acesso mais imediato do que a execução direta chamando o aplicativo na pasta pelo explorer.

A partir do momento que conseguimos criar atalhos para o aplicativo na nossa área de trabalho usando o comando “Enviar para…” podemos recortar e colar esses atalhos na pasta do Iniciar (sim, o Iniciar é uma pasta no seu disco).

Abra a pasta abaixo copiando e colando seu endereço no Executar (Win + R):

mod_fcgid: read data timeout

Com essa pasta aberta, podemos colar nossos atalhos (não cole o arquivo original do aplicativo, nunca!) ou mesmo criar pastas específicas para organizar esses aplicativos.

Em seguida, devemos reiniciar nossa sessão no Windows ou, se preferir, reiniciar o explorer com os seguintes comando no Terminal (não é necessário abrir como Administrador):

taskkill /f /IM explorer.exe
start explorer.exe
exit

Dessa forma os atalhos/pastas já estarão presentes no menu Iniciar, onde podemos fixá-los no acesso rápido, por exemplo.

Boa sorte!