Birde bat dosyasını hangi komutla çalıştırabilirim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Misafir

Birde bat dosyasını hangi komutla çalıştırabilirim

Mesaj gönderen Misafir »

winexec komutunu kullandım exeler çalışıo fakat bat çalışmıo yoksa onun için başka bir komut mu kullanılıo.....
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Kod: Tümünü seç

procedure doskomutu(komut:string;mesajver:boolean); 
var
Startupinfo:TStartupinfo; 
ProcessInfo:TProcessInformation;
begin 
   if terminateprocess(processinfo.hProcess,0)=NULL then 
   begin
      if mesajver then showmessage('Devam eden islem iptal edilemedi');
      exit;
   end;

   FillChar(StartupInfo,Sizeof(StartupInfo),#0); 
   StartupInfo.cb := Sizeof(StartupInfo); 
   StartupInfo.wShowWindow := SW_HIDE; 
   StartupInfo.dwFlags:=STARTF_USESHOWWINDOW; 
   if not CreateProcess(nil, 
                        Pchar('c:\command.com /c '+komut), 
                        nil, 
                        nil,
                        true,
                        NORMAL_PRIORITY_CLASS,
                        nil, 
                        nil, 
                        StartupInfo, 
                        ProcessInfo) then 
                        begin
                            if mesajver then
                   ShowMessage('Islem gerceklestirilemedi') 
                        end    
   else 
   begin
     if mesajver then ShowMessage('Islem tamam') 
   end;     
end; 

Bu yordamin kullanimi;

procedure TForm1.Button1Click(Sender: TObject);
begin
doskomutu('copy c:\autoexec.bat a:\autoexec.dat',false);
end;
Sadece bir örnek :D
Misafir

Mesaj gönderen Misafir »

yaa sağolun da bu yazdığınız bu programla bnm sorduğumun alakası yok
ben sadece *.bat dosyasını çalıştırmak için gereken komutu sormuştumm

yani

gerekenkomut('c:\windows\bilmemne.bat');
gibi.....:)
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

:oops:
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Hayır farklı bir komuta gerek yok sanırım.

Kod: Tümünü seç

  WinExec('c:\test.bat',SW_SHOWNORMAL);
Bu komutla çalıştırdım. Eğer hala olmuyorsa

Kod: Tümünü seç

  WinExec('CMD /C c:\test.bat',SW_SHOWNORMAL);
gibi deneyin
Misafir

Mesaj gönderen Misafir »

winexec dos promptsuz olanı kullanıyoruum
yani ilk yazdıınız komut onda açılır gibi oluo ama goruntu kalıcıd deil yani bian bişiler gorunup gidio

ikinci komuta gelince onuda kullandım ama onda da dos promptunda açılıo açılan da açılamasını istediğim application değill :)
Kullanıcı avatarı
miskin
Üye
Mesajlar: 103
Kayıt: 26 Tem 2005 02:02
Konum: Gavuristan

Mesaj gönderen miskin »

erbu yazdı:yaa sağolun da bu yazdığınız bu programla bnm sorduğumun alakası yok
ben sadece *.bat dosyasını çalıştırmak için gereken komutu sormuştumm

yani

gerekenkomut('c:\windows\bilmemne.bat');
gibi.....:)
Bu Forumda davranis kurallarini daha okumadim , ama her iyi calisan forumda oldugu gibi olacagini tahmin ediyorum. Bana göre cevabi anlamak icinde biraz calisma göstermek lazim.
Senin alakasi yok dedigin bölüm, gayet genis alinmis, senin sorunu cözmeye yeterli oldugu gibi, windows da bulunan her programi cagirabilen, programi kapatabilen, saklayabilen, programin kapandigini bildiren yeteneklere sahip. Senin isine simdi yaramasada, Ilerde bu soruna benzer sorulari cevaplayacak gücte.

miskin
Misafir

Mesaj gönderen Misafir »

yani t hex arkadaşımız gayet gusel cvp verdii sorunumu da nerdese cozduu sen burda benm kafamı karıştırmak deil sorduum soruya cvp vermen gerektiini düşünüorm yeterince çaba gosteriorm caba gostermek senin annattığın bu işlere yarar dediğin ama alakası olmayan o progragrama kafamı yormam değildir...
Misafir

Mesaj gönderen Misafir »

pardon bişiyide duzeltiyim ender arkadasım ozur diliorm miskin arkadaşımızaydı solediklerim...
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

yani ilk yazdıınız komut onda açılır gibi oluo ama goruntu kalıcıd deil yani bian bişiler gorunup gidio
Şimdi bat dosyasına yazdıklarınızın ne yapması gerektiğini bilmiyorum ama siz burda çıkan yazıların ekranda kalmasını istiyorsanız, bat dosyasının en son satırına sonuna "pause" yazın.
Kullanıcı avatarı
miskin
Üye
Mesajlar: 103
Kayıt: 26 Tem 2005 02:02
Konum: Gavuristan

Mesaj gönderen miskin »

sen burda benm kafamı karıştırmak deil sorduum soruya cvp vermen gerektiini düşünüorm....

Eger agresif davranmazda help te veya baska yerde CreateProcess'i ararsaniz ne ise yaradigini anlarsaniz, size getirecekleri, problemi cözmek icin kazandiginiz 1 saatten daha fazladir.
Forumun amaci sadece sorunlari cözmek degil, yapabiliyorsa yol göstermektir.

miskin
Cevapla