Chequear version de windows

Hoy me toco meterle mano al bisabuelo de Powershell: Batch.

Me pidieron que un script viejo no se ejecute en versiones Server de windows, y como no tengo manera de evitar la ejecución, tuve que volver a hacer magia.

Lo que hace este pequeño pedazo de código es chequear la versión de windows, verificar si es una versión “normal” de windows y si es así, vuelve a la etiqueta SIGUE. Simple y sencillo.

:CHEQUEASERVER
REM Se fija que sea windows XP, Vista, 7 u 8.
REM Si no es, no instala
systeminfo | find "Microsoft Windows" > %TEMP%\osname.txt
FOR /F "usebackq delims=: tokens=2" %%i IN (%TEMP%\osname.txt) DO set vers=%%i
echo %vers% | find "Windows 7" > nul
if %ERRORLEVEL% == 0 goto SIGUE
echo %vers% | find "Windows Vista" > nul
if %ERRORLEVEL% == 0 goto SIGUE
echo %vers% | find "Windows XP" > nul
if %ERRORLEVEL% == 0 goto SIGUE
echo %vers% | find "Windows 8" > nul
if %ERRORLEVEL% == 0 goto SIGUE
REM Si llego hasta aca abajo, no es
REM win xp, vista, 7 ni 8. Por descarte
REM es windows server, y no se instala.
:FIN
view raw CHEQUEASERVER.bat hosted with ❤ by GitHub

Limpiapendrives, o como empeze a scriptear.

Hoy comparto mi primer script, de cuando recién arrancaba.
El 11 de julio del 2011, mi hermana vino a casa con un pendrive infectado con un virus que ocultaba todos los archivos y creaba accesos directos que apuntaban a un .vbs que se copiaba a los demás discos.
Básicamente lo que hace es sacarle a todos los archivos del directorio y subcarpetas donde se corre los atributos Hidden, System y Read-Only.

Me había olvidado de este pequeño paso, pero hoy me lleve una sorpresita, ya que me entere que todo el curso de mi hermana (y varias personas mas) lo usan casi a diario!

Pueden bajar el .bat de aca mismo (o para los mas curiosos, acá abajo les va la transcripción)

@echo off
echo Este ejecutable te devuelve todo lo que tenias en el pendrive.
echo Acordate de borrar todos los accesos directos y los .EXE que estan aca.
attrib /d /s -r -h -s *.*
echo.
echo.
echo Listo!
echo.
echo.
echo.
echo Creado por Lucas Camilo
echo.
echo.
pause
exit
view raw LimpiaPendrives.bat hosted with ❤ by GitHub

Gracias Clari por la inspiración para un nuevo post! 🙂