در محیط cmd میشه فارسی داشت.
فقط کاملا دقت کنید :
در صورتی که ویندوز فارسی روش نصب باشه میشه به صورت non-Unicode فارسی یا دقیقا Unicode از محیط داس گرفت. فقط باید دقت داشته باشید که در هر صورت نام فایل ها و فولدر ها به صورت Unicode ذخیره میشه و MMB فقط non-Unicode می خونه. یعنی برای مثال ممکنه حرف «ی» فارسی به «ي» عربی تبدیل بشه. البته اگه از همون اول نام فولدر با Ctrl+X (یعنی همون ي عربی باشه) هیچ مشکلی پیش نمیاد. و برای کار با Unicode در MMB میشه با ترفند استفاده از فایل Bat آماده با Unicode هم کار کرد اما نکته های زیادی داره.
حالا چطور؟
با استفاده از دستور
CHCP و کد زبان مربوط به اون.
یعنی همین الان CMD رو باز کنید و توش برای مثال بنویسید :
حالا همه ی خروجی ها به صورت Windows-1256 non-Unicode عربی ارائه میشه.
و برای گرفتن همین در MMB با رعایت یک نکته و یک روش میشه اینطوری عمل کرد :
کد:
cmd$='HIDE,WAIT /a /q /c "CHCP 1256 > nul && (CHCP 1256 > nul | dir "<SrcDir>" /a:d /b /o:n > "%Temp%\FolderNames.log")"'
Run("cmd","cmd$")
شما می تونید به جای <SrcDir> از آدرس مد نظرتون استفاده کنید. و نتیجه رو توی یه فایل log در Temp ویندوز دریافت کنید.
نکته 1 : چرا هم از And یعنی && و هم از Or یعنی | استفاده کردم؟ چون در آزمایش ها گاهی در ویندوز XP دستور CHCP با تاخیر عمل می کنه.
نکته 2 : چرا از عبارت /a استفاده کردم؟ چون نیاز داشتم این نتیجه حتما به صورت ANSI دریافت بشه مگرنه اگر پیش فرض تنظیمات ویندوز روی Unicode بود من نمی تونستم در MMB اونها رو بررسی کنم.
* برای فهمیدن این نکات به این صورت عمل کردم : جستجو در مراجع اطلاعات فنی سایت میکروسافت و راهنما های دستور های خود CMD. یعنی جلوی یه دستور CMD از عبارت /? استفاده کنید و یا عین نیازتون رو در سایت های مرجع با زبان اصلی جستجو بفرمایید و کمی تلاش و امتحان.
موفق باشید.