الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

العمليات على الملفات والمجلدات بتقنية ASP

مغلق
بدأه محمد بدوي في 29 ديسمبر 2002 · 22 رد · 10,189 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

العمليات على الملفات والمجلدات بتقنية ASP

قم اولا بانشاء مجلد اسمه FileSystem تحت الروت الاساسي للويب مثلا C:inetpubwwwrootFileSystem ثم قم بانشاء ملف نصي وقم بكتابة بعض الاسطر به وسميه test_read_File_System.txt قمنا بتسميته كذلك حتى نبين بعض الخصائص

الان للتعرف على العمليات والخصائص بالملفات والمجلدات اكتب الكود التالي داخل صفحة جديدة وقم بتسميتها ب Default.asp

<%

FolderPathe = "C:inetpubwwwrootFileSystem" ' تعريف متغير ونضع به اسم المجلد



FilePath = Server.MapPath("test_read_File_System.txt") 'تعريف متغير والحصول على المسار الكامل للملف النصي



set fs=Server.CreateObject("Scripting.FileSystemObject")

set f=fs.GetFile(FilePath)

set fo=fs.GetFolder(FolderPathe)

%>

الان لمعرفة بع الخصائص قم بكتابة الاسطر التالية

<%

Response.Write("The file test_read_File_System.txt was created on: " & f.DateCreated & "
") 'لمعرفة تاريخ انشاء الملف

Response.Write("The file test_read_File_System.txt was last modified on: " & f.DateLastModified & "
") ' لمعرفة اخر تحديث طرء على الملف

Response.Write("The file test_read_File_System.txt was last accessed on: " & f.DateLastAccessed & "
") ' لمعرفة تاريخ اخر دخول على الملف

Response.Write("File resides on drive: " & f.Drive & "
") ' لمعرف اسم القرص الذي عليه الملف

Response.Write("The file is in the folder: " & f.ParentFolder & "
") ' لمعرفة اسم المجلد الاب للملف

Response.Write("Name: " & f.Name & "
ShortName: " & f.ShortName & "
") ' لمعرفة اسم الملف واسم الملف المختصر

Response.Write("ShortPath: " & f.ShortPath & "
") ' لمعرفة المسار المختصر للملف

Response.Write("Type: " & f.Type& "
") ' لمعرفة نوع الملف هلو نصي او غيره

Response.Write("File Size: " & f.Size & " Byte. 
") ' حجم الملف بالبايت



Select case f.Attributes 'للتعرف على خصائص الملف

	case 1

  FileAttributes = "Read-only file"

	case 2 

  FileAttributes = "Hidden file"

	case 4 

  FileAttributes = "System file"

	case 16 

  FileAttributes = "Folder or directory"

	case 32 

  FileAttributes = "File has changed since last backup"

	case 1024 

  FileAttributes = "Link or shortcut"

	case 2048 

  FileAttributes ="Compressed file"	

end select 

Response.Write("The attributes of the file are: " & FileAttributes & "
")



%>

لمعرفة كل الملفات في هذا المجلد نستخدم الكود التالي

<%

Response.write("
File in Thise Folder Is:
")

for each x in fo.files

  'Print the name of all files in the test folder

  Response.write(x.Name & "
")

next

%>

لمعرفة كل المجلدات الفرعية في هذا المجلد نقوم بكتابة

<%

Response.write("
Sub Folder in Thise Folder Is:
")

for each x in fo.SubFolders

  'Print the name of all subfolders in the test folder

  Response.write(x.Name & "
")

next

%>

هل المجلد على الروت الرئيسي

<%

Response.write("
folder is the root folder:
")

if fo.IsRootFolder=true then

   Response.Write("Yes")

else

   Response.Write("No")

end if 

%>

هل هذا المجلد موجود

<%

Response.write("
Folder c:temp exists?
")

If fs.FolderExists("c:temp") = true Then

      Response.Write("Yes")

Else

      Response.Write("No")

End If

%>

هل يوجد محرك اقراص بهذا الاسم

<%

Response.write("
Drive g: exists?
")

if fs.driveexists("g:") = true then

      Response.Write("Yes")

Else

      Response.Write("No")

End If

%>

لانشاء نسخة عن الملف

<%

f.Copy("c:new_test.txt",false)

%>

لحذف الملف

<%

f.Delete

%>

لنقل الملف على مسار اخر

<%

f.Move("c:test")

%>

سوف اقوم بوضع باقي هذا الدرس في موضوع اخر قريبا ولكن لاتنسوا ان تضعوا كل هذه الاكواد في صفحة واحدة او تقوم بوضع بناء الكائن في كل مرة تستدعي بها الكود يعني

<%

FolderPathe = "C:inetpubwwwrootFileSystem"

FilePath = Server.MapPath("test_read_File_System.txt")

set fs=Server.CreateObject("Scripting.FileSystemObject")

set f=fs.GetFile(FilePath)

set fo=fs.GetFolder(FolderPathe)

%>

جديد مدونتي الشخصية http://www.badwi.com

ادعو لنا بظاهر الغيب

MyBooksExchange.jpg

#2

أخ محمد انت كتبت التالي مثلا :

[l]

f.Copy("c:new_test.txt",false)

[/l]

لكن أين الوجهة التي سينسخ لها الملف ؟؟؟؟؟

طبعا أنا اعرف و استخدم التالي :

[l]

f.copyFile ("c:new_test.txt", "c:copiedFile.txt",True)

[/l]

طبعا من الواضح هنا أننا استخدمنا الملف الهدف و مسار الملف و اسمه الجديد و اعددنا الخاصية mode ل True و هي تسمح بال Over Writing و لو كانت false ستمنع الكتابة و تسبب خطأ في حال وجود الملف في الوجهة التي بها ينسخ الملف لذا نلجأ عادة لاستخدام فحص وجود الملف عن طريق f.FileExsists للتأكد من وجوده قبل النسخ ..

على العموم اكود جميلة منك أخ محمد بدوي و ان شاء الله نرى المزيد من الأكواد الخاصة بهذا الموضوع الذي يتجنبه العديد من المطورين .. (f)

You can fly while you can touch the sky

#3

انا كاتب لانشاء نسخة جديدة من الملف باسم جديد وليس نسخه يعني خليني اشرح لك الكود

<%

FolderPathe = "C:inetpubwwwrootFileSystem"

FilePath = Server.MapPath("test_read_File_System.txt")

set fs=Server.CreateObject("Scripting.FileSystemObject")

set f=fs.GetFile(FilePath)

set fo=fs.GetFolder(FolderPathe)

%>

قمنا أولا بإسناد اسم F للحصول على مقبض الملف ثم قمنا باعطائه القيمة انشاء نسخة جديدة من نفس الملف المسنود اصلا ولكن باسم جديد

f.Copy("c:new_test.txt",false)

%>

جديد مدونتي الشخصية http://www.badwi.com

ادعو لنا بظاهر الغيب

MyBooksExchange.jpg

#4

نسيت أذكر ان طريقتك صحيحة أيضا

وهذا كود اخر ولكن لنسخ المجلد

<%

set fs=Server.CreateObject("Scripting.FileSystemObject")

set fo=fs.GetFolder("c:test")

fo.Copy("c:new_test",false)

set fo=nothing

set fs=nothing

%>

حيث أن Test هو أسم للمجلد

وأحب أن أضيف انه يجب أن تكون تملك صلاحية الكتابة والنسخ والحذف على المجلدات والملفات اما بأنك Admin أو تقوم بعمل جميع العمليات على الروت الخاص بالويب وكذلك يمكنك اعطاء نفسك هذه الصلاحيات على المجلد

جديد مدونتي الشخصية http://www.badwi.com

ادعو لنا بظاهر الغيب

MyBooksExchange.jpg

#5

سأقوم بتجربة طريقتك و زيادة العلم مو غلط حيث أني أملك كتابين قويين جدا جدا يستخدمان طريقتي و قد مرت علي طريقة ال getFile و كنت أيامها استخدمها لمعرفة خصائص الملف و مساره و حجمه و نوعه ..

اما بخصوص سماحيات القراءة و الكتابة فهذا أمر لا مفر منه :)

شكرا لك محمد على هذا الشرح الذي أتمنى أن يستفيد منه كل من زار الموضوع خارجين من حقبة قواعد البيانات التي طغت على كل الشغل ;)

You can fly while you can touch the sky

#6

هذه اكواد جميلة بس انا عندى مشكلة وهى كيف اعمل النسخ او النقل لمكان ليس محدد بمعنى عاوز اعمل نسخ لملف فى folder حيث انا folder متغير يعنى مش ثابت يعنى مش متحدد يارب تكونو فهمتونى

#7

يا ريت التوضيح أكثر :)

You can fly while you can touch the sky

#8

يعنى انا لما بختار امر copy كدة انا حددت file or folder اللى انا هعملو عملية النسخ ولكن المكن اللى هيتنسخ فيه مش فى نفس المكان توضيح اكثر ( مثال عند file على root وعاوز انسخه جوا folder ازاى ??? على ما اعتقد لازم session علشان المكان اللى هيتنسخ فيه الملف مش هأقدر احدادو لازم يكون معايا فى session ولما اختار ال folder يبقى انا حدد مكان النسخ معلشى استحملنى شوية اصل انا محتاج مساعدة بجد بجد والموضوع داة مهم جداَ هيتحدد مصير حياتى

#9

أنا عادة بنسخ عن طريق ملف asp مو حركة ماوس يعني .. العمل كالتالي ..

تحتاج لتحديد مسار المجلد الذي الملف فيه .. طبعا يمكنك الحصول عن المسار عن طريق ال request.ServerVariables و قد شرحتها في موضوع الأبلودر ..

أما عن طريق الماوس ما عمري جربتها ..

You can fly while you can touch the sky

#10

السلام عليكم

هل استطيع عمل print على الطابعه لمستند

على سبيل المثال مستند ورد word

وشكراً

#11

ممكن ذلك لكن يلزمك معرفة بأسس ال File System Objects أو المسماة بال FSO و التي تمكنك من التعامل مع الملفات ..

You can fly while you can touch the sky

#12

طيب ممكن مثال على طباعة المستندات

#13

في الحقيقة انا لم أتعمق في موضوع كائنات ال VbScript لأنها تخص مبرمجي الفيجوال بيسك اكثر مني و موضوع الطباعة و التأثير على ملفات الاوفيس مثلا كله شغل فيجوال بيسك عن طريق كائنات معينة و ساعطيك مثالا على الإكسل مثلا :

 ' define the sheet Object 

 Set ExcelSheet=createObject("Excell.Sheet")  



' make the object visable :

 ExcelSheet.Application.Visible= True



' change any data in the sheet

 ExcelSheet.ActiveSheet.Cells(1,1).Value="الفريق العربي للبرمجة"



'Save that sheet :

 ExcelSheet.SaveAs "c:myFile.XLS"



' Close the object

 ExcelSheet.Application.Quit



' release the object variable

 Set ExcelSheet= nothing

اعتقد ان ال MSDN الخاصة بالفيجوال بيسك تغنيك و تمدك بكل هذه الأكواد التي في الحقيقة هي ليست من اختصاصنا ..

You can fly while you can touch the sky

#14

مشكور اخوي محمد خليل ابو صلاح وماقصرت و الله يعطيك العافيه

#15

اللسان عاجز عن الشكر :o

وكذا همم الرجال :D

و عقبال نكتب كود احس من ده ويتفوق التلميذ على استاذه :cool:

و للاستاذين (f)(gift)(f)

#16

thanks for u mohammed

and thanks for every one

(f)(f)(f)

#17

شباب ممكن بعض المواقع التي تعلم التعامل مع الملفات عن طريق ASP بصوره اشمل عما تم طرحه حتى الان

ولكم جزيل الشكر ..(f)

#19

جرب ادخل على www.google.com .. و اكتب files in asp .. و اختر ما تريد ..

You can fly while you can touch the sky

#20

مشكور استاذ محمد ...(f)

#22

بسم الله الرحمن الرحيم

اخوكم ash يحب ان يعطي كلمة:

انا سعيدجدا عندما ادخل هذا المنتدى والله

هذا هو المكان الوحيد الذي اشعر فيه ان العرب متحدين

ارجو التوفيق والازدهار , والى الامام

#23

الاخ محمد البدوي والاخوة الكرام

احتاج الى كود باي لغة (على الويب طبعا) يقوم بحذف الكوكيز

الموجودة على جهاز المستخدم وشكرا لكم

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…