كيفية نقل الملفات التي حالياً قيد الاستخدام

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية140570
الموجز
تحتاج لتطبيقات Win32 أحياناً إلى حذف أو إعادة تسميتها أو نقل الملفات التي يتم استخدامها حالياً من قبل النظام. الأمثلة الشائعة واحد تحتاج برامج الإعداد لإزالة أنفسهم من القرص الصلب الخاص بالمستخدم عند الانتهاء إعداد حزمة برامج. في بعض الأحيان، أيضاً تحتاج إلى نقل برامج تشغيل الأجهزة التي يتم استخدامها حالياً من قبل النظام. تحتاج تطبيقات التعليمات من نظام تشغيل حذف أو نقل هذه الملفات.

Windows 95 و Windows NT كل توفر أسلوباً فريد المساعدة التطبيقات لإزالة, استبدال أو إعادة تسمية الملفات والدلائل التي قيد الاستخدام. على الرغم من أن تختلف بين الأنظمة الأساسية في وكيف أنها تطبيق هذه الطرق كليهما مشاركة استراتيجية الكلي حيث التطبيق تحديد الملفات التي لمعالجة ثم يعالج النظام إليها عند ذلك إعادة تمهيد. يشرح هذا المقال كيفية استخدام التطبيقات أسلوب الموفر من قبل كل نظام Windows الأساسي.
معلومات أخرى

نقل ملفات في Windows NT

عليك استخدام التطبيقات المستندة إلى Win32 التي تعمل على Windows NT MoveFileEx() علامة MOVEFILE_DELAY_UNTIL_REBOOT لنقل أو استبدال أو حذف الملفات والدلائل يتم استخدامه حالياً. في المرة التالية التي يتم إعادة تمهيد النظام ، سيتم نقل البرنامج تمهيد Windows NT استبدال أو حذف الملفات المحددة والدلائل.

لنقل أو استبدال الملف أو الدليل قيد الاستخدام تطبيق يجب تحديد مسار كل المصدر والكمبيوتر الوجهة على نفس وحدة التخزين (على سبيل المثال، الأقراص C:). إذا كان المسار الوجهة ملف موجود يمكن الكتابة فوقه. إذا كان المسار الوجهة دليل موجود سيتم الكتابة غير ثم تبقى بدون تغيير مسارات الوجهة والمصدر. وفيما يلي استدعاء مثال لنقل أو استبدال ملف أو نقل دليل:
   // Move szSrcFile to szDstFile next time system is rebooted   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);				
لحذف ملف أو دليل التطبيق عليك تعيين مسار الوجهة إلى NULL. إذا كان مسار المصدر دليلاً ، ستتم إزالة فقط إذا كان فارغاً. لاحظ أنه إذا كان يجب عليك استخدام MoveFileEx() لإزالة الملفات من دليل يجب إعادة تمهيد الكمبيوتر قبل استدعاء MoveFileEx() إزالة الدليل. وفيما يلي مثال عن كيفية حذف ملف أو دليل فارغ:
   // Delete szSrcFile next time system is rebooted   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);				

نقل ملفات في نظام التشغيل Windows 95

Windows 95 لا يقوم بتطبيق MoveFileEx() ولكن يوفر طريقة بديلة لتطبيقات كافة Win32 يستند إلى 16-بت يستند إلى Windows و يستند إلى MS-DOS نقل أو استبدال أو حذف الملفات (ولكن لا الدلائل) التي قيد الاستخدام حالياً. يتم تطبيق هذه الإمكانية خلال المقطع [إعادة تسمية] من الملف المسمى Wininit.ini. في حالة وجود في دليل Windows Wininit.ini Wininit.exe يعالج أنه عند قيام النظام بالتمهيد. بمجرد معالجة Wininit.ini تقوم Wininit.exe "إعادة تسمية هذا إلى Wininit.bak.

بناء جملة المقطع [إعادة تسمية]:
   DestinationFileName=SourceFileName				
DestinationFileName SourceFileName يجب أن تكون موجودة على نفس وحدة التخزين و تكون الأسماء القصيرة (8.3) الملف لأنه تتم معالجة Wininit.ini قبل تحميل النظام القرص الوضع المحمي أسماء الملفات الطويلة متوفرة فقط عند تشغيل نظام القرص الوضع المحمي. يتم تجاهل الوجهة وملفات المصدر المحدد في Wininit.ini مع أسماء الملفات الطويلة.

يمكن أن يحتوي المقطع [إعادة تسمية] أسطر متعددة مع ملف واحد لكل سطر. لحذف ملف عيّن NUL DestinationFileName. فيما يلي بعض الأمثلة الإدخال:
   [rename]   NUL=C:\TEMP.TXT   C:\NEW_DIR\EXISTING.TXT=C:\EXISTING.TXT   C:\NEW_DIR\NEWNAME.TXT=C:\OLDNAME.TXT   C:\EXISTING.TXT=C:\TEMP\NEWFILE.TXT				
الخط الأول يؤدي Temp.txt ليتم حذفها. يؤدي الثاني Existing.txt يمكن نقله إلى دليل جديد. يؤدي الثالثة Oldname.txt نقل أو إعادة تسميته. يؤدي الرابع ملف موجود يمكن الكتابة فوقه بواسطة Newfile.txt.

يجب أن لا تستخدم تطبيقات WritePrivateProfileString() كتابة إدخالات إلى المقطع [إعادة تسمية] لأن يمكن أن يكون هناك عدة أسطر مع DestinationFileName نفس وخاصة إذا كان DestinationFileName "NUL." بدلاً من ذلك، يجب إضافة إدخالات عن طريق تحليل Wininit.ini إلحاق الإدخالات إلى نهاية المقطع [إعادة تسمية].

ملاحظة: دوماً استخدام بحث غير متحسسة لحالة الأحرف تحليل Wininit.ini لأنه قد يكون عنوان المقطع [إعادة تسمية] وأسماء الملفات داخله أية تركيبة من الأحرف الكبيرة والصغيرة.

يجب أن تحقق التطبيقات التي تستخدم Wininit.ini وجود الخاص به في دليل Windows. في حالة وجود Wininit.ini ثم تطبيق آخر كتابة عليه منذ آخر مرة تم إعادة تشغيل النظام. لذلك، يجب فتحه التطبيق ثم إضافة إدخالات إلى المقطع [إعادة تسمية]. بعدم وجود Wininit.ini يجب إنشاء التطبيق وقم بإضافة إلى المقطع [إعادة تسمية]. يضمن ذلك أن إدخالات من تطبيقات أخرى لا يمكن حذف بطريق الخطأ من قبل التطبيق الخاص بك.

التراجع عن عملية إعادة تسمية ملف قبل إعادة تمهيد النظام, يجب إزالة سطر الموافق من المقطع [إعادة تسمية] من الملف Wininit.ini.
برنامج الإعداد تثبيت التحديث

تحذير: تمت ترجمة هذه المقالة تلقائيًا

Свойства

ИД на статията: 140570 – Последен преглед: 11/21/2006 15:50:08 – Редакция: 4.3

Microsoft Win32 واجهة برمجة تطبيقات

  • kbmt kbapi kbfileio kbhowto kbkernbase kbprogramming KB140570 KbMtar
Обратна връзка