PDA

View Full Version : سوال: مشکل در CMD



davoodx
سه شنبه 05 شهریور 1387, 15:35 عصر
سلام
من یه مشکل توی CMD دارم .
توی فرمم یه Button گذاشتم که وقتی روش کلیک می شه دستور :

Shell "CMD.exe"انحام می شه . وقتی CMD باز میشه بطور پیش فرض مسیر برنامه را نشون می ده دیگه ! مثلا اگه برنامه را توی درایو C ریخته باشی وقتی CMD باز میشه :

c:\>را نشون میده .
اما وقتی با استفاده از CommonDialog یک فایل را به مثلا به یه ListBox اضافه می کنم مسیری که CMD نشون می ده به آدرس اون فایلی که Add کردم تغییر می کنه !
چطوری می تونم کاری کنم که وقتی CMD از طریق اون Button باز می شه فقط جایی که برنامه نصبه را نشون بده ؟

خیلی فوریه اگه کمکم کنید ممنون می شم . :عصبانی++: :قلب:

majjjj
چهارشنبه 06 شهریور 1387, 10:02 صبح
Private Sub Command1_Click()
CommonDialog1.ShowOpen
strs$ = CommonDialog1.FileName
Shell "cmd /k " & """" & "cd c:\cmd" & """", vbNormalFocus
Me.Caption = strs$
End Sub

اون قسمت قرمز مشکلت رو حل میکنه

davoodx
چهارشنبه 06 شهریور 1387, 12:15 عصر
خیلی خیلی ممنونم ! :بوس:
من می خوام یک فایل Bat که مثلا توی فلدر D:\Test هست را اجراش کنم . داخل فایل Bat من هم فرمان زیر است :

Make.exe -hاین فایل Make.exe هم جوریه هست که فقط باید از طریق CMD باز بشه با دابل کلیک روی Make.exe پنجره میاد و می ره و در واقع عمل نمی کنه . واسه اجرای فایل Bat باید مسیر فعال CMD همانجایی باشه که Make.exe هست . اما وقتی با CommonDialog همانطوری که بالا گفتم فایلی انتخاب می کنم مسیر عوض می شه . حالا با راهنمایی که شما کردید چطوری می تونم به مقصودم برسم ؟

از کمک و راهنمایی شما بینهایت سپاسگزارم :لبخندساده:

mansour01
چهارشنبه 06 شهریور 1387, 15:32 عصر
خب دوستمون توضیح دادن و فکر کنم کافی بوده باشه . فقط من یک تصیحی تو کد انجام بدم ، چون خودم اکثر برنامه هام با CMD سر و کار داره !

این کد رو به این شکل تصحیح کنید :


Shell ("cmd /k " & chr(34) & "c:&cd\" & chr(34)), vbNormalFocus


که در اینجا مسیر CMD شما درایو C: میشه . شما می تونید بسته به مسیرتون اون رو در این قسمت قرمز قرار بدید . ( برای مثال شما میشه "D:\&cd\&cd test" )

شما برای دستیابی به فایل Make.exe هم نیاز خاصی به استفاده از Batch فایل ندارید ، با مقدار "/k" که در بالا اشاره شد و فوکوس نرمال براحتی می تونید این فایل رو اجرا کنید .

davoodx
چهارشنبه 06 شهریور 1387, 17:58 عصر
خب دوستمون توضیح دادن و فکر کنم کافی بوده باشه . فقط من یک تصیحی تو کد انجام بدم ، چون خودم اکثر برنامه هام با CMD سر و کار داره !

این کد رو به این شکل تصحیح کنید :


Shell ("cmd /k " & chr(34) & "c:&cd\" & chr(34)), vbNormalFocus

که در اینجا مسیر CMD شما درایو C: میشه . شما می تونید بسته به مسیرتون اون رو در این قسمت قرمز قرار بدید . ( برای مثال شما میشه "D:\&cd\&cd test" )

شما برای دستیابی به فایل Make.exe هم نیاز خاصی به استفاده از Batch فایل ندارید ، با مقدار "/k" که در بالا اشاره شد و فوکوس نرمال براحتی می تونید این فایل رو اجرا کنید .

دوست عزیز واقعا دستت درد نکنه کمک بزرگی کردید :قلب:
حالا یه سوال دیگه ؟
چطوری می تونم با یه باز اجرای دستور Shell کل خواسته هام ( یعنی رفته به فلدر D:\Test و اجرای Make.exe -h و نمایش نتیجه ی آن توی یه TextBox ) برسم ؟

خیلی ممنونم ازتون :لبخندساده:

mansour01
چهارشنبه 06 شهریور 1387, 22:56 عصر
دوست عزیز واقعا دستت درد نکنه کمک بزرگی کردید :قلب:
حالا یه سوال دیگه ؟
چطوری می تونم با یه باز اجرای دستور Shell کل خواسته هام ( یعنی رفته به فلدر D:\Test و اجرای Make.exe -h و نمایش نتیجه ی آن توی یه TextBox ) برسم ؟

خیلی ممنونم ازتون :لبخندساده:
خواهش می کنم . شما کافیه بعد از هر دستور یک علامت & بگذارید و دستور بعدی رو بنویسید .

به هر حال اینکار برای دستورات طولانی توصیه نمیشه .