It is important to be able to open a file and determine first, if it actually is a drill file, and second what information it contains and what might be missing.
A drill file will consist of a short header followed by the X,Y coordinates of each drill location.
Ideally there should also be a tool select command (T) that tells the machine which tool has been selected.
M71 M71 = millimeters % % = start of data G05 drill mode (as opposed to route mode) T001 T = tool select followed by tool number X018600Y016200 X,Y = drill coordinates X018600Y020200 X018600Y018200 X018600Y022200 X018600Y024200 X018600Y026200 X018600Y028200 X018600Y030200 X018600Y032200 X018600Y034200 X018600Y036200 X018600Y038200 X018600Y040200 X018600Y042200 X018600Y044200 X018600Y046200 . . M00 M00 = stop program (or M30 stop & rewind)
Coordinate Information
In the above file it is clear that neither leading nor trailing zeros have been suppressed. To save data, very often either leading or trailing zeros are removed and this affects how the program must then interpret the coordinate information.
Decimal Point
Notice that the coordinates do not have a decimal point. This means that one cannot be sure of the value that the coordinate represents. Since there are 6 digits in each coordinate it is possible that the "format" could be 2.4 or 3.3 or 4.2. If you have some idea of the extents of the board you can eliminate one or more of the possibilities. In this particular example the correct format is 3.3.
Tool Select
The tool select command, T requires at a minimum a tool number but does not require the tool diameter. The diameter associated with this tool is either transmitted to the user independently of the file or may be embedded in the header. However, If you see a "C" in the tool command, the value that follows the C is the diameter of the drill.
T001C0.050
indicates that this is tool #1 and it has an 0.050 diameter tool.