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

كيف أحذف ملف عن طريق الكود

بدأه هدف الشمالي في 20 أغسطس 2010 · 45 رد · 1,722 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#26
محمد عرسان كتب:

كمبيوتر هويدي ما يقدر يشغل Windows 7 عشان كدا هو مقهور :P

ههههههه

عندك حق فعلا :P :P :P

هويدي كتب:

لأ طبعا,, بس إنت عارف,, أنا اللي لا اقبل إنى أشغله عندي ..

تقبل ايه بس

هو اللى مش قابل تروح انت عاكس العمليه ؟

ينفع كدا :wacko:

وبعدين مش ينفع كدا عموو علاء و اخويا محمد

لا لازم ترفع عليهم قضية

هههههه

بهدى النفوس يا اخوانى

Software Developer
Mahmoudkelany.com


 

#27

السلام عليكم

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

انا افضل فى هذه الحالات ان استخدم batch file اكتب فيه امر dos

وأن أناديه من الكود مثل

Runtime runtime = Runtime.getRuntime();
        Process proc = runtime.exec("d://bat.bat");
#28

جميل

بس كدا انت بتقيض برنامجك بمسار معين و نظام تشغيل معين اللي هو الويندوز

وأكيد امر الدوس هيختلف من نظام تشغيل لأخر

وكدا فقدنا خاصيه ال

portablity

الا اذا كنت تريد تشغيله علي نظام تشغيل واحد

أو تقبي تغير الملف الخاص بالدوس المكتوب فيه امر الحذف من نظام تشغيل لأخر

أو تقوم بعمل ملف به امر الحذف هذا ونسخه منه تعمل علي كل نظام

وفي كود الجافا بتاعك تشوف النظام اللي انت شغال عليه

وساعتها تشوف هتستدعي اي ملف دوس للحذف

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 23 أغسطس 2010 في 11:36

1

Software Developer
Mahmoudkelany.com


 

#29

لا ارى ان الموضوع وصل الى فقدان خاصية المحمولية portability

فهذه الخاصية الامنية موجودة فى win 7 ولكن على القرص الرئيسي فقط وهو :C

وللعلم هى تركت لك حرية التحكم فى مجلد user.home

من عمليات حذف واضافة وتعديل

ثم انها ليست موجودة على بقية الاقراص ومن الطبيعى ان المستخدم يضع برنامجه على اى قرص اخر

وحتى اذا كان يريد مثلا عمل نسخة احتياطية من قاعدة البيانات او اى ملف اخر

فلا يجوز حفظها على القرص :C

وذلك طبعا للخوف من ان يهلك نظام التشغيل ونضطر الى اعادة تشكيل Format قسم ال :C

قبل تنزيل او تنصيب نظام التشغيل الجديد وبهذا نفقد البرنامج او قاعدة البيانات او كل الملفات طبعا

وبهذا فان هذه الخاصية لا تمثل اى مشاكل لنا كمبرمجين

ولسنا فى حاجة الى استخدام الباتشات bat,cmd

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#30
Oracle_Java كتب:

لا ارى ان الموضوع وصل الى فقدان خاصية المحمولية portability

فهذه الخاصية الامنية موجودة فى win 7 ولكن على القرص الرئيسي فقط وهو :C

وللعلم هى تركت لك حرية التحكم فى مجلد user.home

من عمليات حذف واضافة وتعديل

ثم انها ليست موجودة على بقية الاقراص ومن الطبيعى ان المستخدم يضع برنامجه على اى قرص اخر

وحتى اذا كان يريد مثلا عمل نسخة احتياطية من قاعدة البيانات او اى ملف اخر

فلا يجوز حفظها على القرص :C

وذلك طبعا للخوف من ان يهلك نظام التشغيل ونضطر الى اعادة تشكيل Format قسم ال :C

قبل تنزيل او تنصيب نظام التشغيل الجديد وبهذا نفقد البرنامج او قاعدة البيانات او كل الملفات طبعا

وبهذا فان هذه الخاصية لا تمثل اى مشاكل لنا كمبرمجين

ولسنا فى حاجة الى استخدام الباتشات bat,cmd

تحياتى

اممممم

على كلامك مش هيكون فيها مشكله

لكن الموضوع كله فى الاصل على انه احذف ملف موجود فى الـ C

يعنى المشكله تكمن فى اعطاء صلحيات للمستخدم على حذف ملفات موجوده فى الـ C باستخدام برنامج الجافا

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

ما عدا الـ C

فى الـ Windows XP لا تواجههنا هذه المشكله فيمكنا حذف ما نشاء

لكن فى الـ windows Seven , windows vista هناك نظام امان على المحرك C فبالتالى لابد من اعطاء صلحيات الـ admin كي يتم حذف الملف باستخدام برنامجنا

اتمنى ان يكون مجمل الموضوع وما يتحدث عنه قد اتضح :)

وبعد ذلك هل استخدام الطريقه الذى ذكرهنا اخونا الكريم " elwaly " هل هذه الطرريقه اذن تلغى مبدا المحموليه فى الجافا ام لا ؟؟

Software Developer
Mahmoudkelany.com


 

#31

هل تحتاج دالة api مثل هذه لصلاحيات .. الخ في ويندوز 7 أو فيستا!

 Win32DeleteFile(L"C:\\Users\\Ahmed\\Desktop\\888.pdf");

لا خبرة لي في الجافا لكن كتبت هذا الكود بالسي والكود ينجح بالحذف على ويندوز xp ... لكن لا أدري كيف ستكون أوضاعه في فيستا و7 !!

#include <windows.h>
#include <shlobj.h>
#include "intshcut.h"


//******written by A.S Hack

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nCmdShow)
{
BOOL DelFile;
DelFile= Win32DeleteFile(L"C:\\Users\\Ahmed\\Desktop\\888.pdf");
if(DelFile==TRUE)
MessageBox(NULL, TEXT("The file was successfully deleted!"), TEXT("Note"), MB_OK);
else
MessageBox(NULL, TEXT("The file was NOT successfully deleted!"), TEXT("Note"), MB_OK);

    return 0;
}

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#32
A.S Hack كتب:

هل تحتاج دالة api مثل هذه لصلاحيات .. الخ في ويندوز 7 أو فيستا!

 Win32DeleteFile(L"C:\\Users\\Ahmed\\Desktop\\888.pdf");

لا خبرة لي في الجافا لكن كتبت هذا الكود بالسي والكود ينجح بالحذف على ويندوز xp ... لكن لا أدري كيف ستكون أوضاعه في فيستا و7 !!

#include <windows.h>
#include <shlobj.h>
#include "intshcut.h"


//******written by A.S Hack

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nCmdShow)
{
BOOL DelFile;
DelFile= Win32DeleteFile(L"C:\\Users\\Ahmed\\Desktop\\888.pdf");
if(DelFile==TRUE)
MessageBox(NULL, TEXT("The file was successfully deleted!"), TEXT("Note"), MB_OK);
else
MessageBox(NULL, TEXT("The file was NOT successfully deleted!"), TEXT("Note"), MB_OK);

    return 0;
}

المشكله مش فى الC++

لان السى ++ يقدر يتعامل مع الهارد وير على طول

المشكله عندنا فى الجافا لان الـ JRE بيتحكم شويه حسب الصلحيات اللى بيعطيها نظام التشغيل

Software Developer
Mahmoudkelany.com


 

#33

بالمناسبة واحدة من مزايا VM هو المخافظة على أمان المستخدم

في رأيي موضوع حذف الملفات في C ليست عيب وإنما ميزة

لأن مستخدم برنامج الجافا يضمن أن البرنامج الذي يعمل عليه سليم تماماً من أي شيفرة قد تضر بأمن معلوماته

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#34
اقتباس

بالمناسبة واحدة من مزايا VM هو المخافظة على أمان المستخدم

في رأيي موضوع حذف الملفات في C ليست عيب وإنما ميزة

لأن مستخدم برنامج الجافا يضمن أن البرنامج الذي يعمل عليه سليم تماماً من أي شيفرة قد تضر بأمن معلوماته

تحياتي

تمام فعلا كلامك جميل

انه ليست عيب

لكن هناك جزئيه

يعنى مثلا البرنامج بتاع الجافا دا عمل install فى المسار C

وعاوز اعمله له uninstall ويقبى هامسح ملفات من الـ C

ازاى بقا يسمح لى امسحها ؟؟؟

يقبى اكيد هتطرق لهذا الطريق ولازم احله اكيد :)

معلش المستخدم رخم شويه

Software Developer
Mahmoudkelany.com


 

#35

سواء في ال xp أو غيره، يلزمك حساب admin لتنصيب أو مسح البرنامج.

حتى في linux يلزمك حساب بصلاحيات ال root لتنصيب أو إزالة البرامج.

#36

ما هو انا عندى الـمستخدم والمدير بنفس الاسم

Mahmoud Mahrous

ومع ذلك لا يحذف من الـ C الا اذا عدلت فى الصلحيات بتاعت الـ C

انما موضوع صلحيات تسطيب او ازاله برنامج فى الويندوز ليست موجوده

فانت لك صلاحيه تنزيل وازاله البرامج

لان اى مستخدم يتم انشاءه تكون لديه هذه الصلحيات

حتى انه لم يدخل كـ administrator

ومع ذلك له هذه الصلحيات

Software Developer
Mahmoudkelany.com


 

#37

لست خبيرا في ال windows sleep.gif

#38
Mahmoud Kelany كتب:

ما هو انا عندى الـمستخدم والمدير بنفس الاسم

Mahmoud Mahrous

ومع ذلك لا يحذف من الـ C الا اذا عدلت فى الصلحيات بتاعت الـ C

انما موضوع صلحيات تسطيب او ازاله برنامج فى الويندوز ليست موجوده

فانت لك صلاحيه تنزيل وازاله البرامج

لان اى مستخدم يتم انشاءه تكون لديه هذه الصلحيات

حتى انه لم يدخل كـ administrator

ومع ذلك له هذه الصلحيات

حسب علمي

انت لست administrator

لكن لك صلاحيات معينة من صلاحيات ال administrator

(حاول ان تنسخ ملف مباشرة لل C ، سوف يعطي خيار Confirm ) دليل على انك لست administrator

والله اعلم :)

#39

لاتمام هذه العملية سواء بـ++C او java تحتاج ان تحصل على Elevated Privileges .

يمكن تضمين manifest مع ملف الـPE للحصول على Elevated Privileges ، لكن ملفات الجافا ليست PE.

يمكن اعطاء الصلاحيات للـVM نفسها لكن بهذا انت ستجعل كل ملفات الجافا تعمل بـElevated Privileges.

2

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#40
herch كتب:

لست خبيرا في ال windows sleep.gif

ولا يهمك :)

Software Developer
Mahmoudkelany.com


 

#41
محمد عرسان كتب:

حسب علمي

انت لست administrator

لكن لك صلاحيات معينة من صلاحيات ال administrator

(حاول ان تنسخ ملف مباشرة لل C ، سوف يعطي خيار Confirm ) دليل على انك لست administrator

والله اعلم :)

تمام

كلامك تمام ومظبوط

لكن فى الاول وفالاخر ممكن تعملها من الصلحيات

طب احنا عاوزين بقا نشوف طريقه نمسح ونسخ بيها فى الـ C

Software Developer
Mahmoudkelany.com


 

#42
GamingMasteR كتب:

لاتمام هذه العملية سواء بـ++C او java تحتاج ان تحصل على Elevated Privileges .

يمكن تضمين manifest مع ملف الـPE للحصول على Elevated Privileges ، لكن ملفات الجافا ليست PE.

يمكن اعطاء الصلاحيات للـVM نفسها لكن بهذا انت ستجعل كل ملفات الجافا تعمل بـElevated Privileges.

اعتقد انه فى الـ++ C يمكنك نسخ وحذف الملفات عادى على المحرك C

لكن فى الجافا تحتاج الى صلحيات لذلك

Software Developer
Mahmoudkelany.com


 

#43

الأخ محمود يعجبني إصرارك على إيجاد حل للمشكلة ,,,

#44
هدف الشمالي كتب:

الأخ محمود يعجبني إصرارك على إيجاد حل للمشكلة ,,,

اشكرك يا اخى الكريم

لكن اذا واجهتنا مشكله صغيره مثل هذه وتركناها بدون بحث

فما بالنا بمشكله كبيره اذا واجهتنا فماذا نفعل اذن ؟؟

Software Developer
Mahmoudkelany.com


 

#45

معلومه جميله جدا يا G ...

يا جافاويه,, هل هذا له علاقة بال Security Manager ؟

#46
هويدي كتب:

معلومه جميله جدا يا G ...

يا جافاويه,, هل هذا له علاقة بال Security Manager ؟

امممم

مش عارف بصراحه

بس اعتقد انه من الـ JRE

او من الويندوز نفسه

والله اعلم

Software Developer
Mahmoudkelany.com


 

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

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

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

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

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