Для того чтобы определить, находится ли на диске файл с транзитными командами или какой-либо другой файл, можно с помощью команды DIR просмотреть полное оглавление этого диска. Кроме того, командой DIR можно воспользоваться для того, чтобы определить, находится ли на данном диске конкретный файл. Для этого после команды DIR необходимо ввести спецификацию файла (filespec). Впредь обозначение filespec в этой книге будет использовано для представления последовательности символов, содержащей имя требуемого файла и дополнительно имя диска, содержащего этот файл. Спецификация файла имеет следующую структуру:
filespec = х : filename. typ.
Спецификация файла (filespec) всегда содержит имя файла (filename) и расширение, обозначающее тип файла (typ). Имя файла может быть длиной от одного до восьми символов. Расширение может быть длиной не более трех символов. Имена почти всех файлов имеют расширения. Обычно расширение используется для определения типа файла, хотя для некоторых файлов оно
не обязательно. Если в спецификации файла необходимо указать его тип (расширение), то расширение всегда должно быть отделено от имени файла при помощи точки (”.”). Если расширение не используется, то указывать точку не нужно. Список наиболее употребительных типов файлов будет дан в этой главе. Для уточнения местонахождения файла с именем ’’filename .typ” дополнительно в спецификации файла может быть указано имя диска (”х:”). Если спецификация файла не содержит имени диска, то ОС СР/М предполагает, что указанный файл находится на текущем диске. Если имя диска содержится в спецификации файла, то его следует отделить от имени файла при помоги двоеточия (”:”). Имена транзитных командных файлов и имена файлов, к которым обращаются встроенные и транзитные команды, всегда указываются в спецификации. Ниже приведены примеры правильных спецификаций файлов:
х : filename . typ
FILE-1 STAT.COM А:LETTER1 В: PROGRAM. BAS
В следующем примере показано, как определить, находится ли файл с именем ’’STAT.COM” на текущем диске:
A>DIR STАТ-СОН
В следующем примере показано, как можно определить, находится ли файл с именем ’’STAT.COM” на диске с именем ”В”, в то время как текущим является диск с именем ”А”. Отметим, что в данном случае спецификация файла включает в србя имя диска.
I A>DIR BsSTAT.COM
Если данный файл находится на указанном диске, то в зависимости от того, какой именно диск был указан, на консоли появится сообщение
| A: STATСОМ
либо сообщение
| В: STAT СОМ
Если данный файл не находится на указанном диске, то на консоли появится сообщение
| NO SUCH FILE
После того как определено, что файл с именем ’’STAT.COM” находится на требуемом диске, к соответствующей транзитной программе можно обращаться, просто указывая имя ’’STAT”. Она будет исполняться, поскольку ОС СР/М будет автоматически искать файл с данным именем и расширением ”.СОМ”, если тип файла в команде не указан. Несомненно, вводить команду STAT очень полезно, и если файла с именем ’’STAT.COM” нет на диске, то появится сообщение ”N0 SUCH FILE”.
Если текущим является диск с именем ”В”, а нужно использовать команду ’’STAT”, соответствующий файл которой находится на диске с именем ”А”, то нет необходимости переназначать текущий диск. Вместо этого следует ввести команду STAT в формате, представленном ниже:
B>A:STAT
A: R/Wf SPACE 140К
Вг R/W SPACE 358К
В>
Для достижения требуемых результатов спецификация файла может включать в себя различные комбинации из имен командных файлов и дисков. В следующем примере показано, что текущим является диск с именем ”В”, транзитная команда ED, которую необходимо использовать, находится в файле (ED.COM) на диске с именем ”А”, а редактируемый файл находится на диске с именем ”В”:
B>A:ED В:TEXT1.TXT
#Q
В>
То, что в ОС СР/М можно пользоваться программами и обращаться к файлам, расположенным на дисках, которые не являются текущими, придает ей значительную гибкость. Например, если текущим является диск с именем ”А”, и он ’’переполнился”, т. е. на него больше нельзя записывать данные, то можно поместить оставшиеся файлы на другой диск. Или, если надо выполнить программу, файл которой находится на диске, который не является текущим, с помощью команды DIR можно просмотреть оглавления всех дисков и выполнить программу, не переназначая текущий диск.