[ حل ] حل مشكلة المسافة في المسارفي التعامل مع She!l + تحدي

الموضوع في 'حماية الأجهزة' بواسطة ✶ s c я є α м, بتاريخ ‏19 يناير 2017.

كاتب الموضوع : ✶ s c я є α м المشاهدات : 377 الردود : 7 ‏19 يناير 2017
  1. غير متصل

    ✶ s c я є α м Developer SpyNote

    عضو منذ:
    ‏23 ديسمبر 2014
    عدد المشاركات:
    الإعجابات المتلقاة:
    882
    نقاط الجائزة:
    الإقامة:

    السلام عليكم ورحمة الله وبركاتــة


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

    السبب في المشكلة هي يوزر المستخدم
    50% يكون اسم اليوزر لايحتوي على اي مسافات وهنا راح يعمل الكود بشكل سليم
    والنصف الأخر اسم اليوزر راح يكون فيه مسافات وهنا الكود راح يواجه أعاقات ولن يعمل
    او ربما يكون اسم مجلد يحتوي على مسافة

    لحل هاذي المشكلة ونجعلها تعمل في جميع الاجهزة

    اولا قم يعمل مجلد جديد في القرص C
    وسمي هاذا المجلد AA BB

    يصبح لدينا مسار بهاذا الاسم
    c:\AA BB



    ولنفترض ان هاذا المجلد AA BB هو اسم المستخدم

    افتح اي لغة برمجية نفذ فيها هاذا الامر


    كود:
     Shell("PowerShell.exe " & "Get-Process | Export-Csv c:\AA BB\text.txt -force", AppWinStyle.NormalNoFocus)


    المفترض انه ينزل ملف نصي في المسار c:\AA BB\text.txt

    لكن بسبب المسافه بين AA و BB لا يعمل

    الحل هو وضع فاصله في بداية المسار ونهاية المسار

    نجرب هاذا الكود


    كود:
    Public Class Form1
    
        Function path(value As String)
            'value = المسار
            Select Case value.IndexOf(Space(1)) ' هل يوجد في المسار مسافة واحده
                Case -1 ' اذا رجعت سالب واحد يعني لايوجد
                    Return value ' ارجع لنا المسار
                Case Else 'في حالة رجعت لنا القيمة لاتساوي سالب واحد يعني يوجد مسافة في المسار
                    Return "'" & value & "'"  ' ارجع لنا المسار بأضافة فاصلة عليا اول وأخر المسار
            End Select
        End Function
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Shell("PowerShell.exe " & "Get-Process | Export-Csv " + path("c:\AA BB\text.txt") + " -force", AppWinStyle.NormalNoFocus)
        End Sub
    End Class

    راح يعمل بدون مشاكل مع جميع الاجهزة

    حتا لو كان المسار يحتوي على اكثر من مسافة كــ مثال
    c:\AA BB CC DD EE FF


    جاء وقت التحدي :bomb:

    حنا عملنا مجلد c:\AA BB
    بــ مسافة واحده

    نبغاء ندبل المسافه ليصبح المجلد بهاذا الاسم


    c:\AA BB

    c:\AA(space)(space)BB
    بين الحرف A و B يوجد مسافتين 2

    نشوف منو البطل فيكم يتخطاء هـ المسار وينزل فيه الملف عن طريق الشل :eyes:
     


    Mohmaed ،script ،PIRATE-INC و 2آخرون معجبون بهذا.
    جاري تحميل الصفحة...
  2. غير متصل

    GosTeR DZ
    DeveloPer Plus

    عضو منذ:
    ‏5 يناير 2013
    عدد المشاركات:
    الإعجابات المتلقاة:
    2
    نقاط الجائزة:
    الإقامة:

    يِـعـطيك الـعافية [ يـا وَحـش ]
     


  3. غير متصل

    Just for you
    DeveloPer Plus

    عضو منذ:
    ‏3 نوفمبر 2012
    عدد المشاركات:
    الإعجابات المتلقاة:
    4
    نقاط الجائزة:

    جميل جدا
    الله يعطيك العافيه
     


  4. غير متصل

    CaTmAn
    rank
    V • I • P

    عضو منذ:
    ‏7 مارس 2015
    عدد المشاركات:
    الإعجابات المتلقاة:
    15
    نقاط الجائزة:

    بالصدف دخلت قلت اسلم على الشباب


    Select Case value.IndexOf(Space(2))



    :) :) :)

    تحياتي للجميع الابطال
     


  5. غير متصل

    Mohmaed .:: super ::.
    V • I • P

    عضو منذ:
    ‏12 ابريل 2015
    عدد المشاركات:
    الإعجابات المتلقاة:
    944
    نقاط الجائزة:
    الجنس:
    ذكر
    الإقامة:

    24

    موضوع جميل
    يعطيك العافيه
     


  6. غير متصل

    ✶ s c я є α м Developer SpyNote

    عضو منذ:
    ‏23 ديسمبر 2014
    عدد المشاركات:
    الإعجابات المتلقاة:
    882
    نقاط الجائزة:
    الإقامة:

    الله يعافيككم

    الله يسلمك

    لن تعمل بأضافة Space(2)
     


  7. غير متصل

    Blackbeard مشرف الهندسة العكسية
    مشرف

    عضو منذ:
    ‏26 أغسطس 2015
    عدد المشاركات:
    الإعجابات المتلقاة:
    317
    نقاط الجائزة:
    الجنس:
    ذكر

    17

    مبدع حبيبي
     


  8. غير متصل

    MohaMed-Saeed موقوف لمخالفة الشروط
    rank
    موقوف لمخالفة الشروط

    عضو منذ:
    ‏26 مارس 2017
    عدد المشاركات:
    الإعجابات المتلقاة:
    5
    نقاط الجائزة:
    الجنس:
    ذكر
    الإقامة:

مشاركة هذه الصفحة

جاري تحميل الصفحة...