;============================================================================================================================================= ; ch_txt.asm ;Changes all the *.asm files to *.txt in the current directory ; Algorithm ;C1: Find the file. If no file left -> quit ;C2: Change the extension to txt ;C3: Loop ;(C)I don't take any responsibility for the use of this program ; Zedr0n -- connection closed ;============================================================================================================================================= ;============================================================================================================================================= ; Options/Declarations ;============================================================================================================================================= .386 .model flat, stdcall option casemap:none include windows.inc include kernel32.inc include user32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib ;============================================================================================================================================= ; Data segment ;============================================================================================================================================= .data File_WildCard db "*.asm",0 Caption db "Zedr0n's Asm Renamer",0 Err_1 db "Error finding next file!",0 ;============================================================================================================================================ ; Variables segment ;============================================================================================================================================ .data? find_data WIN32_FIND_DATA <> hSearch HANDLE ? New_FileName db MAX_PATH dup(?) ;============================================================================================================================================= ; Code segment ;============================================================================================================================================= .code start: C1: invoke FindFirstFile,offset File_WildCard,offset find_data mov hSearch,eax C2: xor ebx,ebx xor eax,eax mov ah, find_data.cFileName[0] .while ah!='.' mov ah,find_data.cFileName[ebx] mov New_FileName[ebx],ah inc ebx .endw mov New_FileName[ebx],'t' mov New_FileName[ebx+1],'x' mov New_FileName[ebx+2],'t' mov New_FileName[ebx+3],0 invoke MoveFile,offset find_data.cFileName,offset New_FileName C3: invoke FindNextFile,hSearch,offset find_data .if eax!=0 jmp C2 .endif invoke GetLastError .if eax!=ERROR_NO_MORE_FILES invoke MessageBox,NULL,offset Err_1,offset Caption,MB_OK .endif Exit: invoke ExitProcess,NULL end start