View Full Version : چطوری میشه یه فایل داس رو باز کنم و دستور مورد نظر رو توش تایپ کنم
alcatra
سه شنبه 13 آذر 1386, 21:46 عصر
من میخوام با استفاده از ویبی یه فایل داس رو باز کنم و دستور مورد نظر رو توش تایپ کنم و بعد ببندمش.
داخل فولدر فایل های موجودند.File.exe,1.txt,2.txt,3.txt
با فرض اینکه نام فایل داسFile.exeباشه ودستور :
Command –I –j –h –k 1.txt 2.txt 3.txt
باشه چه طوری میشه این کارو کرد؟
(البته دستوری که نوشتم عملیات خاصی رو روی فایلهای
1.txt,2.txt,3.txt
انجام میده)
که واسش تعریف شده و این فایل ها در پوشه جاری قرار دارند.
DoctorJay
سه شنبه 13 آذر 1386, 22:13 عصر
فایلهای داس معمولا Bat و Cmd هستند
توی VB اینجوری میتونی فایلهای قابل ویرایش مثل Doc, TxT, Bat , ... رو بسازی :
Open "C:\FileName.bat" For Output As #1
Print #1, " دستورات معنادار در داس 1 "
Print #1, " دستورات معنادار در داس 2 "
Print #1, " دستورات معنادار در داس n "
Close #1
اگر از Output استفاده کنی با هر بار اجرای برنامه محتوای قبلی فایل از بین میره
اگه بخوای با هر بار اجرا , متن به ادامه فایل اضافه بشه بجای Output از Append استفاده کن
و میتونی فایلی رو که ساختی اجرا کنی :
Call Shell ("C:\FileName.bat")
-----------------------------------------------------------------------------
تصور کن اگر قرار بود هر کس به اندازه ی دانش خود حرف بزند چه سکوتی بر دنیا حاکم میشد ... ..... ناپلئون
مبین رنجبر
چهارشنبه 14 آذر 1386, 09:29 صبح
از این کد میتونی به صورت مستقیم بدون ساخت فایل استفاده کنی و دستور داس رو اجرا کنی
SHell "CMD.exe /c HostName",vbHide
این کد بالا دستور HostName در داس رو اجرا میکنه
alcatra
چهارشنبه 14 آذر 1386, 10:36 صبح
از این کد میتونی به صورت مستقیم بدون ساخت فایل استفاده کنی و دستور داس رو اجرا کنی
SHell "CMD.exe /c HostName",vbHideاین کد بالا دستور HostName در داس رو اجرا میکنه
من میخوام وارد پوشه جاری بشه اما نمیدونم چطوری دستور رو بنویسم.
با این دستور:
SHell "CMD.exe /c HostName"
ولی hostname من اینه:
cd app.path اینتر
file.exe -d -a -h 1.txt 2.txt 3.txt اینتر
حالا صفحه داس نره.یعنی رو صفحه باقی باشه.
البته راهی که DoctorJay گفت جواب داد.ولی میخوام با همین دستوری که شما نوشتی کارم رو انجام بدم. (http://barnamenevis.org/forum/member.php?u=44525)
مبین رنجبر
چهارشنبه 14 آذر 1386, 12:47 عصر
خوب دوست عزیز .. شما میخوای وارد مسیر App.path بشی .. خوب چه کاریه خود مسیر رو به فایل نسبت بده دیگه ... اگر نمیخوای صفحه بسته بشه ، C/ رو در دستورت حذف کن ...مثل دستور زیر :
SHell "cmd.exe " & chr(34) & App.path & "\file.exe -d -a -h 1.txt 2.txt 3.txt" & Chr(34),vbNormailFocus
این کد بالا کلا کارتو را میندازه
alcatra
چهارشنبه 14 آذر 1386, 15:14 عصر
مسله همینه دیگه.با دستور بالا File.exe اجرا نمیشه.فقط یه صفحه command باز میشه که وارد مسیر app.path شده و file.exe هم اجرا نشده.
مبین رنجبر
چهارشنبه 14 آذر 1386, 17:36 عصر
والا نمی دونم ... من توی سیستم خودم با همین روشی که گفتن را راحتی فایل اجرا میشه
alcatra
پنج شنبه 15 آذر 1386, 10:04 صبح
اگه فرمان Command یک بخش باشه مثل
SHell "CMD.exe /c HostName"
اجرا میشه ولی وقتی فرمان بیش از یک بخش باشه مثل
SHell "cmd.exe " & chr(34) & App.path & "\file.exe -d -a -h 1.txt 2.txt 3.txt" & Chr(34)
و مجبور باشی به هم الحاقشون کنی اجرا نمیشه.
bobrus
پنج شنبه 15 آذر 1386, 14:56 عصر
بهترین راه حل اینکه یه فایل batبسازی و دستورت رو توش بنویسی همونجوری که doctorJay گفته بعد با دستور
shell "file.bat" اجراش کنی . خودم همیشه از این راه استفاده می کنم.
تازه با دستور
kill "file.bat" هم می تونی از بین ببریش تا کاربر نفهمه چه جوری اجراش کردی.
بهترین ره حلت اینه دنبال چیز دیگه ای نباش
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.