MSX-DOS2 FCS 03 57

From Z80 Machines Wiki
Jump to: navigation, search

3.57ファイルまたはサブディレクトリの削除(4DH)

パラメータ:C = 4DH(_DELETE)

DE =ドライブ/パス/ファイルASCIIZ文字列

またはfileinfoブロックポインタ

結果:A =エラー


この関数は、drive / path / file文字列またはfileinfoブロックで指定されたオブジェクト(ファイルまたはサブディレクトリ)を削除します。グローバルファイル名文字は許可されていないため、この機能を使用して削除できるファイルまたはサブディレクトリは1つだけです。サブディレクトリは、空の場合にのみ削除でき、そうでない場合にはエラー( ".DIRNE")が発生します。サブディレクトリの "。"と ".."エントリは削除できず( ".DOT"エラー)、ルートディレクトリも削除できません。開いているファイルハンドルがある場合(.FOPENエラー)、または読み取り専用の場合(.FILROエラー)、ファイルを削除できません。

ファイルの場合は、それに割り当てられていたディスクスペースはすべて解放されます。ディスクがMSX-DOS 2ディスクの場合、 "UNDEL"ユーティリティプログラムがファイルを元に戻すための十分な情報がディスクに保存されています。この情報は、次のディスク容量の割り当て(通常はファイルへの書き込み)がこのディスク上で行われるまでしか保持されません。この関数を呼び出した後、fileinfoブロックが渡された場合は、もはや存在しないものを参照しているのでそれを再度使用してはなりません(「次のエントリを検索」関数に渡す以外は)。

"CON"などのデバイス名を指定した場合、エラーは返されませんが、デバイスは実際には削除されません。