windows - كيف يمكن تخزين حرف أسي نول(نول) في متغير مع البرنامج النصي دفعة ويندوز؟



batch-file null (1)

وفقا لصفحة متغيرات البيئة من مكتبة مسن ل ميكروسوفت وأيضا إلى متغيرات بيئة إعداد آخر لتشغيل معين من عملية معينة يتم تخزين كتلة البيئة في كتلة إنهاء نول من سلاسل نول إنهاء - هنا يتضح بسرعة في إبف الرموز:

environment-block = { variable-definition } , null-char ;
variable-definition = variable-name , '=' , variable-value , null-char ;

بسبب تنسيق التخزين هذا ليس من الممكن تخزين حرف نول في متغير بيئة. حتى لو تمكنت واحدة من الحصول على نول مكتوبة إلى كتلة البيئة فإنه لا يمكن أبدا أن تقرأ مرة أخرى.

بعد المشاركة كيف يمكنني كتابة حرف أسي فارغ (نول) إلى ملف مع البرنامج النصي دفعة ويندوز؟ هناك بالفعل أساليب لكتابة حرف أسي نول (نول) إلى ملف مع البرنامج النصي الدفعة.

ومع ذلك، لا يمكن العثور على طريقة لتخزين حرف نول إلى متغير.

لنفترض الملف null.nil يحتوي على حرف نول واحد، إعادة توجيه إلى set /P لا يبدو العمل، يظهر المتغير فارغة:

< "null.nil" set /P NULL=
set NULL

for /F لا يبدو أن تعمل إما كما يبدو أن يرفض كل حرف نول أنه لقاء. بالاعتماد على نفس الملف null.nil ، النتائج التالية في متغير فارغ:

for /F %%S in ('type "null.nil"') do set NULL=%%S
set NULL

تغيير بنية الجملة set "NULL=%%S" أو set NULL=^%%S لا يغير أي شيء، على الرغم من أن سطر الأوامر type "null.nil" لا صدى حرف نول (على جهاز ويندوز 10 x64؛ إخراج type إعادة التوجيه إلى ملف وعرضه مع محرر عرافة).

فكيف يمكنني تعيين متغير إلى حرف نول واحد؟ حرف نول يمكن أن تؤخذ إما من ملف (مثل null.nil ) أو التي تم إنشاؤها من قبل بعض الإختراق الذكية، ولكن لا أريد أن تكون جزءا لا يتجزأ من ملف الدفعي مباشرة.





ascii