PDA

View Full Version : سوال: اجرای فایل Batch



KRDWOLF
سه شنبه 24 شهریور 1394, 12:07 عصر
سلام
اساتید محترم یه مشکلی داشتم میخوام یه فایل bat. یا cmd. رو با دستور shell یا Process.Start ولی ارور میده باز نمیشه لطفا کمک کنین
اینم عکس از ارور

135280

alirezabahrami
سه شنبه 24 شهریور 1394, 13:35 عصر
سلام
از کد زیر استفاده کن :



Dim RetVal
RetVal = Shell("e:\z.bat", 1)

در کد فوق فرض شده نام فایل شما z.bat و در درایو e است .
یا علی

KRDWOLF
سه شنبه 24 شهریور 1394, 14:31 عصر
سلام ممنون ولی باز همون ارور نشد :|

pbm_soy
سه شنبه 24 شهریور 1394, 14:41 عصر
اسم ویا مسیر فایل را اشتباه دادید

علیرضا5
سه شنبه 24 شهریور 1394, 16:46 عصر
از run as administrator استفاده کن

KRDWOLF
سه شنبه 24 شهریور 1394, 18:05 عصر
اسم ویا مسیر فایل را اشتباه دادید


خیر درسته




از run as administrator استفاده کن


تو برنامه کد ران از داریم ؟

علیرضا5
سه شنبه 24 شهریور 1394, 20:34 عصر
1- روی خروجی exe برنامه کلیک راست کن و گزینه
run as administrator رو انتخاب کن
2- اگر نشد روی خروجی exe کلیک راست کن و از قسمت پراپرتیس سربرگ compatibility رو انتخاب کن و از اونجا ران از ادمین رو انتخاب کن

KRDWOLF
سه شنبه 24 شهریور 1394, 21:12 عصر
باز نشد :|

pbm_soy
سه شنبه 24 شهریور 1394, 23:53 عصر
خطایی که تو تصویر گذاشتید این موضوع را میگه که نام فایل اجرای اشتباه است و یا این فایل در مسیری که دادید وجود ندارد!

شما تو cmd یک دستور را با املای اشتباه تایپ کنید دقیقا همین خطا را خواهید گرفت
مورد دیگر هم همین دستور شل کار را انجام میدهد فایل bat را در کنار فایل اجرای قرار دهید و در برنامه به دستور شل بدون مسیر دادن نام فایل bat بدهید حتما کار خواهد کرد
Shell "z.bat"

KRDWOLF
چهارشنبه 25 شهریور 1394, 11:37 صبح
با سلام !
متاسفانه باز نشد .

شاید با یه دستور دیگه یا یه راهه دیگه بشه ؟

meys34
چهارشنبه 25 شهریور 1394, 18:59 عصر
سلام

خطایی که داده احتمالا مربوط به VB6 نمیشه...و احتمالا خطای نوشتاری هست داخل فایل BAT

اگر ممکنه متن داخل BAT رو بگذارید ببینیم و یا حداقل متن خطا رو کامل تر در اختیار بگذارید

pbm_soy
چهارشنبه 25 شهریور 1394, 22:20 عصر
بله احتمال دارد دستورات داخل فایل ایراد داشته باشد
فقط یک دستور ساده که مطمئن باشید درسته را بنویسید و امتحان کنید مثلا
Date
به شما زمان فعلی سیستم را نشان میدهد و از کاربر زمان جدید را میخواهد اینطوری خروجی را هم میبینی و مطمئن میشی

KRDWOLF
چهارشنبه 25 شهریور 1394, 23:17 عصر
با سلام دستورات توی فایل اصلا دستوری نیس که بگیم اشتباهه فقط مثلا فایل تو پوشه یه بازیه و اون بازی رو اجرا میکنه همین کدی نیس توش

vbhamed
پنج شنبه 26 شهریور 1394, 08:06 صبح
سلام
برای اینکه یک بچ فایل به درستی اجرا بشه مسیر جاری سیستم هم باید درست باشه
مسیر جاری چیزی شبیه app.path در ویژوال بیسیک هستش یعنی جایی که برنامه exe ویژوال بیسیک از اون پوشه اجرا میشه

حالا فرض کنید بازی شما در درایو e پوشه game قرار داره و بچ فایل هم در همون پوشه به نام run.bat
وقتی شما روی خود بچ فایل دابل کلیک کنید ویندوز به صورت پیش فرض مسیر جاری سیستم رو برابر e:\game در نظر میگیره و بازی بدون مشکل اجرا میشه ولی وقتی قراره خود بچ فایل رو با یک برنامه دیگه باز کنید شرایط فرق می‌کنه

مثلا برنامه ویژوال بیسیک شما به نام test.exe در درایو c قرار داره و از داخل اون با دستور shell یا روش دیگری فایل run.bat قراره اجرا بشه، در این حالت مسیر جاری سیستم \:c هستش نه e:\game واسه همین بچ فایل شما نمیتونه فایل بازی رو در درایو c پیدا کنه و خطا میده

برای رفع مشکل قبل از اجرای بچ فایل در ویژوال بیسیک از کدهای زیر برای تغییر مسیر جاری سیستم استفاده کنید

chdrive "e:\"
chdir "e:\game"
shell "e:\game\run.bat"