PDA

View Full Version : سوال: اجرا کردن کد های CMD در وی بی دات نت یا وی بی 6



atenavb
چهارشنبه 20 آبان 1394, 15:14 عصر
سلام من چطوری کدهای داس رو تو ویژوال بیسیک اجرا کنم حالا فرقی نداره دات نت باشه یا 6
md atena در داس در مسیر مشخص پوشه باز میکنه اینو میخوام اجرا کنم
طرف بیاد مسیر رو انتخاب بکنه روی دکمه باتن کلیک کنه تو اون مسیر پوشه باز بشه
یا attrib *.* -s -h /s /d تمام فایل هارو در مسیر برمی گردونه من میخوام طرف مسیر رو انتخاب بکنه رو اون مسیر این کد اجرا بشه
مثلا بیاد به اختیار درایو D پوشه Atena اون کد داس رو اجرا کنه

ممنون میشم راهنمایی کنید

mr_ayma
پنج شنبه 21 آبان 1394, 14:23 عصر
راه حلی که به ذهنم می رسه اینکه تو مسیری که نیاز داری یه فایل bat بسازی و اون فایل bat رو اجرا کنی

atenavb
پنج شنبه 21 آبان 1394, 17:23 عصر
اصلا این کد رو چطوری در وی بی دانت یا وی بی 6 اجرا کنم؟
attrib -s -h /s /d

Ehsan_Shia
پنج شنبه 21 آبان 1394, 18:30 عصر
یا با:

Shell("cmd /c help", AppWinStyle.Hide, False)

یا با:


Imports System.Diagnostics
Process.Start("cmd.exe", "/C help")

atenavb
پنج شنبه 21 آبان 1394, 22:15 عصر
سلام داداش (یا یا یعنی چی)
ممنون که جواب دادین خیلی متشکرم
ولی
attrib -s -h /s /d این رو من کجای اون کد بندازم کاش از اول همه چی رو بگی دیگه نه اسپم ایجاد بشه نه سوال دیگری پرسیده بشه

Ehsan_Shia
پنج شنبه 21 آبان 1394, 22:41 عصر
بسم الله الرحمن الرحیم

سلام علیکم
«یا» یعنی میتونید از هر کدوم خواستید استفاده کنید، برای دستور تان هم میتونید، دستور مد نظر را جایگزین help بکنید، c/ را برای این نوشتیم تا عبارت روبه رویش(که دستور تان باشه) به عنوان دستور شناخته شود.

atenavb
پنج شنبه 21 آبان 1394, 23:40 عصر
سلام داداش گلم این کد مال وی بی دات نت هست یا وی بی 6؟
مسیری که باید اجرا بشه کجا وارد کنم؟
دستور اینطوری میشه دیگه؟


Shell("cmd /c attrib -s -h /s /d", AppWinStyle.Hide, False)

Shell("Imports System.Diagnostics

Process.Start("cmd.exe", "/C C:\atena")
اینطوری میشه؟

hsgpro
جمعه 22 آبان 1394, 17:40 عصر
سلام
تا اون جایی که من می دونم دستور attrib برای تغییر خصوصیت های یک فایل است که معادلش در دات نت با تابع System.IO.File.SetAttributes قابل انجامه.
در این دستور attrib -s -h /s /d هم \پارامتر -s برای حذف حالت System بودن فایل و پارامتر -h برای حذف حالت Hidden بودن فایل است.
شما براحتی با تابع System.IO.File.SetAttributes می تونی کار این دو پارامتر رو انجام بدی.

اطلاعات بیشتر: http://www.csharp-examples.net/file-attributes/

atenavb
جمعه 22 آبان 1394, 18:54 عصر
داداش منظور من این نیست اتریب چیه منظور من کد های CMD هست به جای اتریب حالا هر چی مثلا MD atena اینارو در وی بی یا دانت چطوری اجرا کنم چرا هیچکی متوجه نمیشه من چی میگم

Ehsan_Shia
جمعه 22 آبان 1394, 22:04 عصر
بسم الله الرحمن الرحیم


سلام این کد مال وی بی دات نت هست یا وی بی 6؟
مسیری که باید اجرا بشه کجا وارد کنم؟
دستور اینطوری میشه دیگه؟


Shell("cmd /c attrib -s -h /s /d", AppWinStyle.Hide, False)

Shell("Imports System.Diagnostics

Process.Start("cmd.exe", "/C C:\atena")
اینطوری میشه؟
سلام علیکم
1. VB.NET
2. این دستور این شکلی نیست:

Shell("Imports System.Diagnostics

بلکه باید قبل تمامی کدها و بدون Shell اضافه شود(تمامی):

Imports System.Diagnostics


3. یا با استفاده از Shell کد Cmd را وارد کنید با با Process نه هر دو تا، هر دو تا دو دفعه cmd را باز می کند(مستقل از هم).
مشکل دیگری بود در صورت توان در خدمتم.

atenavb
جمعه 22 آبان 1394, 22:34 عصر
داداش گلم به اون خدایی که می پرستی متوجه نشدم بنویس که چه کدی رو کجا بزنم و کجا بندازم الان هزار تا اسپم ایجاد شده من هیچی نفهمیدم

Ehsan_Shia
جمعه 22 آبان 1394, 23:26 عصر
بسم الله الرحمن الرحیم

سلام علیکم
این پروژه را ببینید، مشکلی بود بفرمایید.

atenavb
شنبه 23 آبان 1394, 14:11 عصر
سلام خوبی داداش
Runcmd.sln اینو اجرا میکنم
136753

136754
Runcmd.vbproj اینم اجرا میکنم
136755

الان من چطوری برم کدهارو ببنیم این ویژوال استادیو زیاد کار نکردم ببخشید
تشکر فراوان که زحمت کشیدید خیلی ممنونم
فقط بگین چطوری برم کدهارو بنیم که چیه

Ehsan_Shia
شنبه 23 آبان 1394, 16:25 عصر
بسم الله الرحمن الرحیم

سلام علیکم
نمیدونم باید اجرا کنه، ارور که ناشی از ورژن حالا ورژن ویژوال یا net. framework منظورشه نمیدونم.
ولی حالا txt رو آپلود کردم، توی این txt کد ها است.

atenavb
شنبه 23 آبان 1394, 16:59 عصر
داداش باز نکرد


Shell("Cmd.exe /c attrib +h C:/Hello", AppWinStyle.NormalFocus, True)
این hello نام پوشه هست؟
به جای attrib +h هم میتونم هر کدی رو که خواستم اضافه بکنم؟

alibaqdadloo
شنبه 23 آبان 1394, 17:02 عصر
توروخدا یکی که vb کار میکنه یه فایل vbp درست کنه بده به این بنده خدا خیلی داره تلاش میکنه

atenavb
شنبه 23 آبان 1394, 17:59 عصر
alibaqdadloo (http://barnamenevis.org/member.php?316902-alibaqdadloo)
سلام داداش داری مسخره میکنی ؟
خب داداش مسخره نداره نمیدونم |نپرسیدن عیب نیست ندانستن عیب است

atenavb
شنبه 23 آبان 1394, 18:04 عصر
سلام داداش احسان این طوری هم کردم ولی هیچی نشد
مثلا نوشتم


Shell("Cmd.exe /c attrib +h + s +r /s /d D:/Atena", AppWinStyle.NormalFocus, True)
یه فایل انداختم با داس مخفیش کردم باید با این شو میشد وی بی زدم هیچی نشد

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


Shell("Cmd.exe /c copy *.* D:/atena C:/Atena", AppWinStyle.NormalFocus, True)
اینطوری میشه یا چطوری یا میخوام پوشه باز کنم در درایو C


Shell("Cmd.exe /c md atena C:/abc", AppWinStyle.NormalFocus, True)
ممنون میشم توضیح بدید که دستورات داس رو چطوری اونجا اجرا بکنم

alibaqdadloo
شنبه 23 آبان 1394, 18:11 عصر
alibaqdadloo (http://barnamenevis.org/member.php?316902-alibaqdadloo)
سلام داداش داری مسخره میکنی ؟
خب داداش مسخره نداره نمیدونم |نپرسیدن عیب نیست ندانستن عیب است



ن بابا این چه حرفیه ، کی خواست مسخره کنه ؟
به نظر من vs2015 نصب کن
حداقل بقیه برنامه رو مینویسن بهت میدن بتونی اجرا کنی
(ندانستن عیب نیست ، نپرسیدن عیب است)

hsgpro
یک شنبه 24 آبان 1394, 13:20 عصر
دوست عزیز اگه حتماْ می خوای دستورات cmd رو در دات نت اجرا کنی بهترین کار به نظر من اینه که دستورات رو در یه فایل با پسوند bat. ذخیره کنی و بعد در دات نت با تابع Proccess.Start فایل bat. رو اجراش کنی.
ساخت فایل bat. هم کاری نداره یه NotePad باز کن و توش هر دستور cmd که می خوای رو بنویس (هر دستور در یک خط یعنی خط به خط دستور بنویس) بعد Save As رو بزن و فایل رو با پسوند bat. ذخیره کن سپس در برنامه دات نتی که ساختی به تابع Proccess.Start آدرس فایل bat. که ساختی رو بده.
حتی می تونی این فایل bat. رو به جای اینکه از قبل بسازی به صورت آنی در برنامه با تابع System.IO.File.WriteAllText بسازی و بعد آدرسش رو به تابع Proccess.Start بدی.

atenavb
یک شنبه 24 آبان 1394, 22:48 عصر
hsgpro (http://barnamenevis.org/member.php?331822-hsgpro) سلام این بت رو میدونم دستورات رو کد به کد بنویس توضیح بده چطوری بت رو اجرا کنم من بلد نیستم

hsgpro
دوشنبه 25 آبان 1394, 13:20 عصر
hsgpro (http://barnamenevis.org/member.php?331822-hsgpro) سلام این بت رو میدونم دستورات رو کد به کد بنویس توضیح بده چطوری بت رو اجرا کنم من بلد نیستم


بفرمایید:

System.IO.File.WriteAllText("C:\test.bat", "attrib +h + s +r /s /d D:/Atenaattrib +h + s +r /s /d D:/Atena" + vbNewLine + "MD atena")
System.Diagnostics.Process.Start("C:\test.bat")



خط اول کد یه فایل به آدرس C:\test.bat میسازه و تو خط اول فایل یه دستور و تو خط دوم فایل یه دستور دیگه میذاره با کد vbNewLine می تونید برید خط جدید و دستور خط بعدی هم بنویسید اما اگر فایل bat. رو از قبل ساختید این خط اول کد رو حذف کنید.

خط دوم کد هم همون فایل ساخته شده C:\test.bat رو اجرا میکنه.اگر فایل bat. رو از قبل ساختید به جای آدرس C:\test.bat آدرس خودتون رو بنویسید.