PDA

View Full Version : سوال: حذف خصوصيت read only بودن يك فايل



ali682344
جمعه 01 مرداد 1389, 10:58 صبح
با سلام خدمت دوستان
من ميخوام يه كد بنويسم كه فايل رو بررسي كنه اگه read only بود اين خصوصيت رو حذف كنه

از كمكتون ممنون ميشم

tdkhakpur
شنبه 02 مرداد 1389, 13:45 عصر
از تابع 43h وقفه 21h استفاده کنید.


FileName db "Test.Txt",0, $
mov ah, 43h
lea dx, FileName
mov cx, خصوصیات
int 21h

بیتهای موجود در cx میتواند برای مشخصه های زیر تغییر پیدا کنید.


0 -> فایل ساده
1 -> فایل خواندنی
2 -> فایل مخفی
4 ->فایل سیستمی

ali682344
شنبه 02 مرداد 1389, 17:43 عصر
از تابع 43h وقفه 21h استفاده کنید.


FileName db "Test.Txt",0, $
mov ah, 43h
lea dx, FileName
mov cx, خصوصیات
int 21h

بیتهای موجود در cx میتواند برای مشخصه های زیر تغییر پیدا کنید.


0 -> فایل ساده
1 -> فایل خواندنی
2 -> فایل مخفی
4 ->فایل سیستمی


دوست عزيز ممنون از پاسخت
يعني من اگه بخوام خصوصيت رو تغيير بدم بايد اونو داخل cx بريزم
اخه يه كتاب بود كه نوشته بود بايد al مقدارش 1 باشه كه بشه تغييرش داد درسته؟
اگه يه نمونه داشتين خيلي خوب بود
بازم ممنونم

tdkhakpur
شنبه 02 مرداد 1389, 18:04 عصر
يه كتاب بود كه نوشته بود بايد al مقدارش 1 باشه كه بشه تغييرش داد درسته؟

درسته این یکی از پارامترهای اصلی برای اجرای تابع فوق هست و باید قید شود
کد زیر فایلی به اسم test.txt را برایتان به حالت مخفی در می آورد


datas segment
FileName db 'test.txt', 0, '$'
ends
stack segment
db 128 dup(0)
ends
code segment
start:
; set segment registers:
assume cs:code, ds: datas, ss:stack
mov ax, datas
mov ds, ax
;---------------------------
mov ah, 43h
mov al, 1
lea dx, FileName
mov cx, 2
int 21h
;1 -> Read Only
;2 -> Hiden
;4 ->System
;---------------------------
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembl