PDA

View Full Version : سوال: استفاده از دستورات خط فرمان در vb.net



armin001
دوشنبه 02 مرداد 1391, 19:22 عصر
سلام دوستان میخواستم بدونم چگونه میتونم دستورات خط فرمان رو تو وی بی بنویسم و اجرا کنم
مثلا دستور(md \\.\C:\prn.pnb (file://\\.\C:\prn.pnb)) که توی cmd مینویسیم رو با ویبی اجرا کنم؟
اصلا امکان داره؟

ممنون

مهرداد صفا
دوشنبه 02 مرداد 1391, 20:10 عصر
سلام
کار نشد نداره.
دستورات رو در یک فایل بنویسید و با پسوند .bat ذخیره کنی. حال با استفاده از متود start از کلاس System.Diagnostics.Process اجرا کنید
موفق باشید..

armin001
دوشنبه 02 مرداد 1391, 20:23 عصر
سلام
کار نشد نداره.
دستورات رو در یک فایل بنویسید و با پسوند .bat ذخیره کنی. حال با استفاده از متود start از کلاس System.Diagnostics.Process اجرا کنید
موفق باشید..

ممنون ولی این راهو خودم میدونم میخواستم بدونم میشه با ویبی بدون متکی شدن به فایل دیگه ای این کار رو انجام داد(با کد نویسی)

armin001
چهارشنبه 04 مرداد 1391, 12:12 عصر
واقعا کسی نیست به این سوال جواب بده؟:ناراحت:
اگه راه دیگه ای نیست بگید از این سردرگمی در بیام.!

Saman_12
چهارشنبه 04 مرداد 1391, 13:09 عصر
راه که هسته اما بچه ها کلا با سوالای تکراری حال نمیکنن.(اول جستجو کنید اگر به نتیجه نرسیدید بعد ما در خدمتیم! >> shelll <<)

armin001
چهارشنبه 04 مرداد 1391, 14:40 عصر
با دستور shell این کار رو کردم اما ارور داد
Shell("md \\.\C:\prn.pnb")

بعد با sendkeys انجام دادم تو cmd نوشت ولی خودش اینتر نمیشه

Saman_12
چهارشنبه 04 مرداد 1391, 19:52 عصر
ویرایش :
عذر میخوام من یه آرگامنت رو فراموش کرده بودم :
Shell("cmd.exe /c mkdir c:\b")

armin001
جمعه 06 مرداد 1391, 19:31 عصر
shell("cmd.exe md \\.\c:\prn.pnb")

منون ولی جواب نداد

armin001
شنبه 07 مرداد 1391, 19:19 عصر
کسی جوابی نداره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟!
هرچی گشتم تو تالار در این مورد پیدا نکردم اگه هست یه لینکی بذارین یا جوابی بدین
:ناراحت:

M.KH-SH
شنبه 07 مرداد 1391, 20:25 عصر
این باید جواب بده و کار شمارو راه بندازه

Process.Start("")

arash020
یک شنبه 08 مرداد 1391, 05:37 صبح
سلام

دو روش میشناسم که میشه دستورات داس رو داخل برنامه اجرا کرد و نتیجه رو هم داخل برنامه گرفت ... که اینا هستن :

کد فرم اصلی :
Public Class Form1
'----------------------روش شماره 1------------
Function ExecuteDos(ByVal Comm As String)
Dim objShell, objExecObject
objShell = CreateObject("WScript.Shell")
objExecObject = objShell.Exec("%comspec% /c " & Comm)
MsgBox(objExecObject.StdOut.ReadAll())
End Function
'------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'------استفاده از روش 1-------
Dim objShell, objExecObject
objShell = CreateObject("WScript.Shell")
objExecObject = objShell.Exec("%comspec% /c " & TextBox1.Text)
MsgBox(objExecObject.StdOut.ReadAll())
'ExecuteDos(TextBox1.Text)
'-------------------------------
'----------روش شماره 2---------
' On Error GoTo er
' Dim psi As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo(TextBox1.Text, TextBox2.Text)
' psi.UseShellExecute = False
' psi.RedirectStandardOutput = True
' psi.CreateNoWindow = True
' Dim OutPut_String As String
' Dim proc As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi)
' OutPut_String = proc.StandardOutput.ReadToEnd
'
' Tjavab.Text = OutPut_String
' Exit Sub
'er:
' Tjavab.Text = "حطا رخ داده است , احتمالا دستور وارد شده صحیح نیست" & vbNewLine & Err.GetException.Message

End Sub
End Class

کنترل های موردنیاز :
textbox1 برای دستور
textbox2 برای پارامتر های دستور
textbox3 برای نمایش نتیجه اجرای دستور

eaglevb.blogfa.com (http://www.eaglevb.blogfa.com/)
Eagle computer

موفق باشی

omidpa2
جمعه 13 مرداد 1391, 13:11 عصر
دستت درد نکنه چیز جالبی از آب در اومد
من به جای تکست باکس 3 از ریچ باکس استفاده کردم . به جای تکست باکس1 ار لیبل و توش ping گذاشتم
حالا با وارد کردن آی پی سرور رو پینگ میکنه!

مرسی از آرش