Имя: Пароль:
IT
Админ
Попонтуюсь, серийный номер виндуз и сила пакетных файлов...
0 smaharbA
 
19.11.10
01:22
1. Че за хрень 0% (0)
2. Виндуз лучше линукс 0% (0)
3. Армяне лучше чем грузины 0% (0)
Всего мнений: 0

Как то на досуге...
(вполне подвержен оптимизации)

echo off
setlocal enabledelayedexpansion
for /f "tokens=3" %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v DigitalProductId') do (
   set x=%%~i
   )
for /l %%z in (0,2,1000) do (
   if "!x:~%%z,2!"=="" goto break
   set /a n=0x!x:~%%z,2!
   set array=!array! !n!
   )
:break
call :getkey "%array%"
echo Ключ виндуз: %getkey%
pause
exit /b

:getkey (p) {
   setlocal enabledelayedexpansion
   set opt=%~1
   set out=%~0
   set pc=BCDFGHJKMPQRTVWXY2346789
   set x=0
   for /l %%i in (0,1,28) do (
       if !x! gtr 28 goto break_2
       set a=0
       for /l %%j in (0,1,14) do (
           set /a n=66 - %%j
           set e=0
           set p=!opt!
           set opt=
           for %%z in (!p!) do (
               set z=%%z
               if !e! equ !n! (
                   set /a a=%%z + !a! * 256
                   set /a z="( !a! / 24 ) & 255"
                   set /a a%%=24
                   )
               set opt=!opt! !z!
               set /a e+=1
               )
           )
       for %%z in (!a!) do set key=!pc:~%%z,1!!key!
       set /a f="( !x! + 2 ) %% 6"
       if !f! equ 0 if !x! lss 28 (
           set /a x+=1
           set key=-!key!
           )
       <nul set /p u=.
       set /a x+=1
       )
:break_2
   echo.
   endlocal & set %out:~1%=%key%
   exit /b
   }
5 Злопчинский
 
19.11.10
01:43
а!

Че за хрень
13 Попытка1С
 
19.11.10
09:06
ммм

Че за хрень
16 Fragster
 
гуру
19.11.10
09:13
да, без регэкспов в пакетниках тяжело

Че за хрень
23 avkend
 
19.11.10
09:34
твою бы энергию да в нужное русло

Че за хрень