Welcome To Fedon Kadifeli’s Web Site HTML5 Powered

About Fedon Kadifeli Who Am I?

Useful Stuff Useful Stuff

Interesting StuffInteresting Stuff

Bogazici University Computer Engineering Bogaziçi Univ. CmpE

WWW Related Work WWW Related Work

Searching My Pages Searching My Pages

Contacting Me Contacting Me

Supporting Me Supporting Me

Click to open the original file util.htm in a new window.

Some Utility Programs

Below I give some short descriptions about some utility programs that may prove useful to you. You may freely download and use these programs. If you have any questions, please feel free to mail me.

Please note: Some of programs given here are no longer maintained and updated. For example, the 16-bit programs may not run on modern versions of Windows.


Download Files (16-bit)
save.zip(29 KBytes) RVA.ASM + SAVE.C ⇒ SAVE.EXE (Version 1)
SAVE2.C ⇒ SAVE2.EXE (Version 2)
SAKLA.C ⇒ SAKLA.EXE (Version 2 in Turkish)


SAVE is a program with which floppy disks can be saved as, restored from, or compared with hard disk files. That is, the whole floppy disk image can be read block by block and stored as a hard disk file; later this file may be restored to another floppy disk; and finally the copy or restore operation may be verified. With this program you can copy any size of floppy disk, as long as its size is a multiple of 24 KBytes. For example, you can copy a 1.68 MByte floppy disk under Windows 95.

When run, the program displays a menu:

The first option
is used to read the floppy disk and store its image on a disk file whose name is given by the user.
The second option
does the reverse of this; it copies the disk image stored in the disk file to a formatted floppy disk.
The third option
compares the disk files with the floppy disk; it can be used to verify the success of the copy operation performed by either option one or two.

When using this program, one point to take care of is the capacity of the floppy disk. The amount of information processed, in KBytes, is displayed on the screen. For example, for a 1.44 MByte floppy disk, the last value displayed must be 1440. The MS DOS interrupt being used by the program is not able to detect and the use actual capacity of floppy disk being used; the last capacity information set during the latest MS DOS operation is used. For this reason, it is strongly advised, first to insert a floppy disk of the same capacity as the one that is going to be used for this program and run an MS DOS command like "DIR A:" or "CHKDSK A:" to set the correct capacity and then use this program. From this point on you can continue using the program as long as the floppy disk capacity does not change. Another important point is to use formatted floppy disks free of any bad sectors.


Download Files (16-bit)
what.zip(11 KBytes) DOS.INC + WHAT.ASM ⇒ WHAT.EXE


WHAT is an old (Microsoft originated) program which can be used as a batch file enhancer. It is written in assembly language and it is the only program I have seen so far, that can modify its MS DOS environment space. The result of the program is always placed in the MS DOS environment variable WHAT. For more information about its usage, type WHAT without any parameter.

For example, the following batch file segment can be used to prompt some information from the user:

WHAT S "Username: "
WHAT SE "Password: "
REM Do whatever you want using USERNAME and PASSWORD...

Note: It seems like this program has lost its ability to set the WHAT environment variable under Windows NT. The workaround to this problem is to run it under the command interpreter COMMAND.COM which can be found in the \WINNT\SYSTEM32 directory. So, before running the above batch file, first run COMMAND from the same command prompt of Windows NT. Or, run the batch file using a command like:

C:\>C:\WINNT\SYSTEM32\COMMAND /E:2048 /C test.bat


Download Files
lines.zip(14 KBytes) LINES3.C ⇒ LINES3.EXE (16-bit version) / LINES.EXE (32-bit version)


LINES is a program which can be used to display the type of file and the number of lines and characters in the file. It attempts to determine the type by looking at the first several bytes of the file. But, sometimes it can report an incorrect file type!

This program accepts a single parameter: the input file name. To process more than one file with a single command (for example, LINES *.DAT *.TXT) the following MS DOS batch file may be used:

IF "%1"==""  GOTO EXIT

Here C:\BINB\LINES3 is the full path of the executable file obtained after compiling LINES3.C.

The 32-bit version of executable (LINES.EXE) can be run directly, with no need of the MS DOS batch file.


Download Files
fkunzip.zip(2 KBytes) FKUNZIP.C


FKUNZIP is a program that can be used to extract files from an uncompressed PKZIP archive file. This program was developed with the purpose of transferring more than one file from an MS DOS/Windows machine to a UNIX machine. Although there are methods of doing the reverse (that is tar some UNIX files into a single file, then transfer this file to a PC, and later use WinZip to extract the files), there is no known method to either create a tar file on a PC or uncompress a PKZIPped file on a UNIX system. (For the latter however, see Info-ZIP, an attempt to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc.)

This program can be used to extract files from an uncompressed PKZIPped file on a UNIX system. That is, the archive file should be created using the -e0 or -store (no compression) option of PKZIP command. Any directory information in the archive file will be processed and the corresponding directories will be created on the UNIX machine. File and directory names will be converted to lower case. File dates will be set appropriately.

Because of the file format differences between MS DOS and UNIX systems, file name extensions will be used to do some necessary conversions. For example, files within the archive file having extensions .html, .htm, .txt, .pl, .sh, .c, .cpp, .h, and .hpp will be considered as text files, so any carriage returns present in such files will be deleted during the extraction process; other types of files will be left intact.

After compiling fkunzip.c on a UNIX system, run the command fkunzip filename.zip to extract all the files from the archive file filename.zip.


Download Files
cpart.zip(45 KBytes) CPART.C ⇒ CPART16.EXE (16-bit version for large files) / CPART32.EXE (32-bit version) / CPART.EXE (64-bit version)


CPART is a utility that can be used to to copy parts of a file or split and merge files. General command line format is:
cpart -opt masfile partfile count startpos

cpart is the name of the command and it can be renamed to split or merge. opt indicates the operation to be performed. Depending on the operation, we have the following three cases:

cpart -c[w] masfile partfile bytecount [startpos]
Copies bytecount bytes from masfile to partfile starting from startpos (default is 0). If w is appended to the c option, then the user is prompted to press a key before each copy.
cpart -s[w] masfile [partfile] [bytecount] [startpos]
Splits masfile into partfiles starting from startpos (default is 0). .XXX is appended to each partfile name (XXX is a sequence number). The default for partfile is the name part of masfile. Each part is bytecount bytes (default 1d). If w is appended to the s option, then the user is prompted to press a key before each copy.
cpart -m[w] masfile [partfile] [filecount]
Merges filecount partfiles into masfile. .XXX is appended to each partfile name (XXX is a sequence number) before opening it. The default for partfile is the name part of masfile. The default for filecount is 999. If w is appended to the m option, then the user is prompted to press a key before each copy.

If no option is given, the command’s first character is used by default. For example, -c is the default option if the command is called cpart. If you rename cpart.exe as split.exe, then -s will be assumed if opt is not given in the command line, etc.

bytecount, startpos, and filecount are decimal numbers optionally followed by one of these suffices:
k for × Kilobyte (e.g., 800k = 819200)
d for × 1420 × Kilobyte (e.g., 2d = 2908160)
m for × Megabyte (e.g., 10m = 10485760)
g for × Gigabyte (e.g., 5g = 5368709120) [Only in 64-bit version!]

If you need more UNIX-like utilites for Windows, look at Cygwin.


Please follow this link.


Download Files (32-bit)
mobile.zip(145 KBytes) MOBILE.EXE (Version 0.02-beta) and README.TXT


MOBILE is a utility which can be used to manage your Ericsson mobile phone from your PC. It is tested on model SH888 only, but may work on other models as well. Please refer to the README file.

Note: This program was merged into ADDRFILE and it is no longer updated.


Download Files
disktest.zip(18 KBytes) DISKTEST.C ⇒ DISKTEST32.EXE (32-bit version) / DISKTEST.EXE (64-bit version)


DISKTEST is a command-line program which can be used to write to and read from a file the specified amount of data (multiples of Megabytes). Random and uncompressible data is written to the disk file. When you read a file created by this program, data is compared to what would have been written when this file was created by this program. If there is a discrepancy in the data, the index of the 1 MB block(s) containing the wrong data is displayed.

This utility can be used for performance and reliability tests of permanent storage. The Cygwin time utility can be used for time performance testings. For example:

$ time disktest w testfile 640
640 MB was written.

real    0m5.210s
user    0m0.000s
sys     0m0.015s

$ time disktest r testfile 640
640 MB was read.

real    0m11.016s
user    0m0.000s
sys     0m0.015s

© October 1996 - November 2022, Fedon Kadifeli.