PDA

View Full Version : راهنمایی و همکاری در اجرای یک برنامه



Rain_Saeid
جمعه 10 خرداد 1392, 12:58 عصر
با سلام و درود

دوستان و اساتید محترم لطفا بنده را راهنمایی نمایید

بنده میخوام با وی بی برنامه ای کوچک بسازم که این کارهارو انجام بده

یک Dirlistbox بسازم
یک Commandbotton بسازم

فولدری که توسط Dirlistbox انتخاب میکنم ، توسط Commandbotton این دستورات رو اجرا کنه:

داخل درایو C فولدری به اسم Apps وجود داره..

1- با cmd بره داخل فولدر مورد نظر .. مثلا فولدر انتخاب شده ما Apps هستش :


c:\Apps\
2- سپس این دستور اجرا بشه :

dir /s /b > print.txt
با این کار همه فایل هایی که داخل شاخه apps وجود داره، داخل فایل متنی print.txt ذخیره میشه
(البته شما بهتر این رو میدونید ، جسارت نشه)
3- اینجا نوبت این میرسه که اطلاعات داخل فایل دخیره شده print.txt رو ویرایش کنم و باهاش بچ فایل بسازم
اینطوری که دستور :



adb install -r c:\

رو اول همه خط های داخل متن print.txt اضافه کنم و در آخر فایل print.txt رو به فایل print.bat تبدیل کنم


ممنون میشم که راهنمایی بفرمایید
تشکر

mehran901
جمعه 10 خرداد 1392, 13:58 عصر
سلام کار ساده ای هست ، توجه داشته باشین که توسط پروسیجر path در dirlisbox میشه آدرس جاری انتخاب شده توسط این شی رو داشت ،

من آدرس پیشفرض استفاده میکنم بجای dirlistbox :

Shell "cmd.exe /k dir c:\apps > c:\apps\files.txt", vbhide

با کد بالا در پوشه Apps ، در مسیر c ، فایل تکستی حاوی فایل ها و فولدر های داخل این پوشه ایجاد میشه حالا شما میخواین اون دستور adb install -r c:\ رو ابتدای این فایل بنویسین!!! و در قالب batch file ذخیره کنین خب به روش زیر اقدام کنین : ( ولی اجرا نمیشن ها !)


Private Sub Command1_Click()


Dim k
k = FreeFile
Open "c:\apps\files.txt" For Input As #k
Do Until EOF(k)
Input #k, z
If Len(z) > 1 And IsNumeric(z) = False Then s = s & vbCrLf & z

Loop
s = "adb install -r c:\" & s
k = FreeFile
Open "c:\tt.bat" For Output As #k
Print #k, s
Close

MsgBox s
End Sub


آخر سر S حاوی اطلاعات فایل تکست و در ابتداش هم اون دستور هست و تو ی بت نوشته میشه

mehran901
جمعه 10 خرداد 1392, 14:04 عصر
و یه چیز دیگه ... من متوجه نشدم واسه چی میخواین از طریق داس و دستور Dir محتویات یه فولدر رو لیست کنین :|

روش های دیگه و البته درست تری هم وجود داره مثلا یه روش ساده که نیاز به دونستن اطلاعات خاصی نداره اینه بیاین از یه فایل لیست باکس استفاده کنین آدرسش رو آدرس پوشه مورد نظر بدین و با یه حلقه داده های داخلش که همون اسم فایل های داخل فولدرتون هست رو بخونین ... اینجوری داده های اضافی وجود نداره مثل روش بالا ، که مجبور باشین حذفشون کنین

Rain_Saeid
جمعه 10 خرداد 1392, 15:23 عصر
با تشکر از شما آقا مهران عزیز
با توجه به گفته های شما ، شما به موضوع خوبی اشاره کردین ..
ممنون میشم راهنمایی بفرمایید که بدون کمک گرفتن از داس و دستورات آن، چگونه با VB6 این کار را انجام بدم.. تشکر..

البته فولدر خاصی رو که میخواهیم با Dirlistbox انتخاب کنیم هم اشاره کنید.. ممنون

mehran901
جمعه 10 خرداد 1392, 15:35 عصر
خواهش میکنم ، روش واسه بدست آوردن فایل های داخل ی شاخه زیاده .... یکیش روش بالا بود و استفاده از کنترل filelistbox
مثلا :

File1.Path = "c:\"
Dim i, s$
For i = File1.ListCount - 1 To 0 Step -1
s = File1.List(i) & vbNewLine & s
Next
MsgBox s


ولی روش دیگه ای که بدون نیاز به این کنترل همین کارو ساده تر انجام بده هم زیاده مثلا استفاده از dir

Dim s
s = Dir("c:\")
Do
s = s & vbCrLf & Dir
Loop Until Trim$(Dir) = Empty

MsgBox s