ورود

View Full Version : سوال: اجرای دستورات پشت سر هم cmd در دلفی



farshad_shams
پنج شنبه 21 فروردین 1393, 22:51 عصر
سلام به دوستان برنامه نویس
من میخوام در دلفی دستورات cmd رو بنویسم و نتیجه رو در Memo ببینم تا اینجا مشکلی نیست
اما

وقتی دستوری وابسته به دستور قبلی باشه به مشکل میخورم مثلا :
وقتی از دستور Delete استفاده میکنم پیغام [y/n]?Are you sure رو توی Memo نمایش میده ولی بعدش دیگه نمیشه Y رو بفرستی

یا

ShellExecute(0, nil, 'cmd.exe', '/C cd windows', nil, WS_HIDE);

ShellExecute(0, nil, 'cmd.exe', '/C cd system32', nil, WS_HIDE);
ShellExecute(0, nil, 'cmd.exe', '/C dir system32', nil, WS_HIDE);

روشهای زیادی امتحان کردم ShellExecute، CaptureConsoleOutput،GetDosOutput و ...

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

AliReza Vafakhah
پنج شنبه 21 فروردین 1393, 23:55 عصر
این تاپیک (http://barnamenevis.org/showthread.php?386200-%D9%86%D8%AD%D9%88%D9%87-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D8%AE%D8%B1%D9%88%D8%AC%DB%8C-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-Batch-%D8%AF%D8%B1-%D8%AF%D9%84%D9%81%DB%8C&highlight=pipe)90 درصد کارتون رو راه میندازه. و یا ایــــــــن (http://barnamenevis.org/showthread.php?207882-pipe&highlight=pipe)

farshad_shams
جمعه 22 فروردین 1393, 11:24 صبح
این تاپیک (http://barnamenevis.org/showthread.php?386200-%D9%86%D8%AD%D9%88%D9%87-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D8%AE%D8%B1%D9%88%D8%AC%DB%8C-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-Batch-%D8%AF%D8%B1-%D8%AF%D9%84%D9%81%DB%8C&highlight=pipe)90 درصد کارتون رو راه میندازه. و یا ایــــــــن (http://barnamenevis.org/showthread.php?207882-pipe&highlight=pipe)

سپاسگذارم دوست عزیز
خیلی مفید بود

ebino1363
یک شنبه 09 خرداد 1395, 22:18 عصر
به نظر من راحتترین راه برای انجام دستورات پشت سر هم استفاده از دستور && بعد از دستور اول و بعد نوشتن دستور بعد است اینطوری دو دستور پشت هم اجرا میشن با استفاده از << میشه خروجی cmd را در یک فایل متنی ذخیره کرد و سپس از اونجا خواند در برنامه به اینصورت

dir<<1.txt

با استفاده از clip| هم میشود خروجی cmd را در کلیپبورد کپی کرد و دربرنامه مورد استفاده قرار داد.
من خودم معمولا یک فایل بچ میسازم و دستورات را توش مینویسم و توی همون فایل مشخص میکنم خروجی در یک فایل متنی ذخیره بشه بعد فایل متنی را میخونم .