无法删除 emu 8086 中的文件
Can not delete file in emu 8086
.model small
.data
filename db "name.txt",0
err db "error$"
.code
start:
mov ax,@data
mov ds,ax
;;file is opening
mov ah,3dh
lea dx,filename
mov al,0
int 21h
jc err1
;delete the file not working
mov ah, 41h
lea dx,filename
int 21h
mov ah,4ch
int 21h
err1: lea dx,err
mov ah,09h
int 21h
end start
我正在尝试从目录中删除文件,但代码不起作用,我可以打开并读取文件但无法删除文件。我的代码有什么问题?
可能您的操作系统不允许删除打开的文件,请尝试关闭它:
HANDLER DW ? ;◄■■ VARIABLE IN DATA SEGMENT.
...
;;file is opening
mov ah,3dh
lea dx,filename
mov al,0
int 21h
jc err1
MOV HANDLER, AX ;◄■■ PRESERVE FILE HANDLER.
;CLOSE FILE.
MOV AH, 3EH ;◄■■
MOV BX, HANDLER ;◄■■ HANDLER OF FILE TO CLOSE.
INT 21H
;delete the file NOW IS working
mov ah, 41h
lea dx,filename
int 21h
.model small
.data
filename db "name.txt",0
err db "error$"
.code
start:
mov ax,@data
mov ds,ax
;;file is opening
mov ah,3dh
lea dx,filename
mov al,0
int 21h
jc err1
;delete the file not working
mov ah, 41h
lea dx,filename
int 21h
mov ah,4ch
int 21h
err1: lea dx,err
mov ah,09h
int 21h
end start
我正在尝试从目录中删除文件,但代码不起作用,我可以打开并读取文件但无法删除文件。我的代码有什么问题?
可能您的操作系统不允许删除打开的文件,请尝试关闭它:
HANDLER DW ? ;◄■■ VARIABLE IN DATA SEGMENT.
...
;;file is opening
mov ah,3dh
lea dx,filename
mov al,0
int 21h
jc err1
MOV HANDLER, AX ;◄■■ PRESERVE FILE HANDLER.
;CLOSE FILE.
MOV AH, 3EH ;◄■■
MOV BX, HANDLER ;◄■■ HANDLER OF FILE TO CLOSE.
INT 21H
;delete the file NOW IS working
mov ah, 41h
lea dx,filename
int 21h