سلام
من یه برنامه دارم مینویسم و باید از طریق دلفی برنامه CMD رو اجرا کنم و یه سری دستورات رو به اون بفرستم.و یا اینکه بدون اینکه cmd اجرا بشه دستورات رو به اون پاس بدم و اجرا کنم
خواستم ببینم چطور میشه
سلام
من یه برنامه دارم مینویسم و باید از طریق دلفی برنامه CMD رو اجرا کنم و یه سری دستورات رو به اون بفرستم.و یا اینکه بدون اینکه cmd اجرا بشه دستورات رو به اون پاس بدم و اجرا کنم
خواستم ببینم چطور میشه
اگه فقط اجرا منظورت هست که :
WinExec('cmd -c dir', SW_SHOW);
من فکر میکنم منظور ایشون نوشتن دستور در داس هستش از طریق دلفی . یعنی ارسال پارامتر بهcmd و اجرا از طریق دلفی!
موفق باشید
ولی من فکر می کنم می خوان از توی دلفی دستورات داس را اجرا کنند چه با cmd و چه بدون Cmd . من خودم با Shell کار می کنم و توابع API.
از هم تون ممنونم
منظورم اینه که میخوام از طریق دلفی بدون اجرای cmd یه دستور بهش بفرستم مثلا dir .البته میخوام دستورات بزرگتری بنویسم فقط نمیدونم چطور از تو دلفی میتونم دستورات رو اجرا کنم.انگار که داری توی cmd دستور مینویسی و اینتر میزنی تا اجرا شه
مرسی
سلام
در حال عادی هر دستوری که با کد WinExec اجرا می کنی بعنوان دستورات تحت داس اجرا میشن.
شاید لازم باشد یک فایل bat ایجاد کنید و بعد با Shellexecute و یا دستورات گفته شده فایل مورد نظر را اجرا کنید تا دستورات پشت سر هم اجرا گردند.
مطمئنا با ایجاد فایلهای متنی در دلفی آشنا هستید. اگر چنین است کار ساده ای در پیش دارید. دستوراتی که می خواهید اجرا کنید را درون یک فایل به طور خط به خط بنویسید. نام فایل را با پسوند Bat انتخاب کنید. از نامهایی که شبیه دستورات ویندوز هستن هم استفاده نکنید. فرض کنید فایلی به نام a.bat ساختید.
فایل ایجاد شده را close کرده و دستور زیر را برای اجرای آن به کار برید.
ShellExecute(0, '', PChar('a.bat') , '', '', 0);
سلام
مرسی
من میخواه این دستور رو در داس بنویسم و اجرا کنم.طبق گفته شما در فایل بت باید چی بنویسیم؟
attrib +h +s D:/myfolder
خیلی ممنون
نه دستورات درونی CommandShell بطور کلی هم از طریق Batch فایل و هم از طریق CMD /C می توان دستورات درونی DOS را اجرا کرد ...در حال عادی هر دستوری که با کد WinExec اجرا می کنی بعنوان دستورات تحت داس اجرا میشن.
*** Batch File Content {
@echo off
echo ------------------------------------
echo Sample Command Shell By Batch File
echo ------------------------------------
echo.
echo write the files list of drive c ...
echo target : %1
dir c:\ > %1
echo -done.
echo.
echo press any key to exit ...
pause >nul
cls
exit
rem write these lines to `test.bat` and save it on program dir ...
}
*** Delphi Procedure {
begin
// files list of drive c by run a batch file.
WinExec('test.bat Drive(C)_FileList1.txt', SW_SHOW);
// files list of drive c by straight delphi command.
WinExec('cmd /c "dir c:\ > Drive(C)_FileList2.txt"', SW_HIDE);
// but this line dosn't work !!!
WinExec('dir > Drive(C)_FileList3.txt', SW_HIDE);
// set the `system and hidden` attribute to the current path.
WinExec('cmd /c attrib +s +h .', SW_HIDE);
end;
// WinExec or ShellExecute dosen't have any different ...
}
یا حق ...
به عبارت ساده تر
var
f:textfille;
begin
assignfile(f,'a.bat');
writeln(f,attrib +h +s D:/myfolder);
closefile(f(;
Shellexecute(....
با سلام
می خواستم بپرسم برای اینکه دستور زیر اجرا بشه باید چه کرد؟؟؟؟؟؟؟؟
COPY c:\nc D:\bp
ممنون می شم راهنمایی کنین
از کجا بگیرم اگه میشه برام بفرستین
pgpouria@hotmail.com
ممنونم