Çözüldü C# formda butona bansınca CMD komudu çalıştırmak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Ruzgar001

Decapat
Katılım
25 Temmuz 2020
Mesajlar
6
Başlıktan da anladığınız gibi Visual Studio C# form uygulamasında bir butona bastığımda butona atadığım komutu CMD'de çalıştırmasını istiyorum. Ama bunu nasıl yapacağım hakkında en ufak fikrim yok yardımcı olursanız sevinirim. İyi günler.
 
Son düzenleyen: Moderatör:
Çözüm
İlk olarak gerekli sınıfı eklemen gerek.

Kod:
using System.Diagnostics;

Daha sonra butonun komut satırına CMD'yi açma komutunu eklemen gerek. C#'ta Windows uygulamalarını açmak için "Process"i kullanıyoruz.

Kod:
Process.Start("cmd.exe");

CMD bu komutla açılıyor. Belli bir komutu çalıştırmak istiyorsan üstteki komuta biraz ekleme yapmalıyız.

Kod:
Process.Start("cmd.exe", "/k" + "echo Merhaba");

Bu kod satırı, CMD'de "echo Merhaba" komutunu kullanmanı sağlayacak. "/k" ise CMD'nin kapanmamasına yarıyor. Kodu çalıştırdıktan sonra CMD'yi kapatmak istiyorsan "/c" yazmalısın. Yine 1 butonla 1 komut değil de birden fazla komut çalıştırmak istersen her komutun arasına "&" kullanmalısın. Örnek;

Kod:
Process.Start("cmd.exe", "/k" + "@echo off&cd C:/&title chocolax&color 1c&cls&echo Merhaba");

Kaynak: C# CMD Birden Fazla Komut Çalıştırma - Turkhackteam.org/net - Cyber Security Platform
İlk olarak gerekli sınıfı eklemen gerek.

Kod:
using System.Diagnostics;

Daha sonra butonun komut satırına CMD'yi açma komutunu eklemen gerek. C#'ta Windows uygulamalarını açmak için "Process"i kullanıyoruz.

Kod:
Process.Start("cmd.exe");

CMD bu komutla açılıyor. Belli bir komutu çalıştırmak istiyorsan üstteki komuta biraz ekleme yapmalıyız.

Kod:
Process.Start("cmd.exe", "/k" + "echo Merhaba");

Bu kod satırı, CMD'de "echo Merhaba" komutunu kullanmanı sağlayacak. "/k" ise CMD'nin kapanmamasına yarıyor. Kodu çalıştırdıktan sonra CMD'yi kapatmak istiyorsan "/c" yazmalısın. Yine 1 butonla 1 komut değil de birden fazla komut çalıştırmak istersen her komutun arasına "&" kullanmalısın. Örnek;

Kod:
Process.Start("cmd.exe", "/k" + "@echo off&cd C:/&title chocolax&color 1c&cls&echo Merhaba");

Kaynak: C# CMD Birden Fazla Komut Çalıştırma - Turkhackteam.org/net - Cyber Security Platform
 
Son düzenleme:
Çözüm
@animloss
1647698484555.png

Değiştirip Tree komutunu kullandım. Komutu yazdığımda böyle bir hata alıyorum.
 
Yazdığın kodu iletebilir misin?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; using System.Diagnostics;
Application.DoEvents(); Process.Start("cmd.exe", "/k" + "tree");
 
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; using System.Diagnostics;
Application.DoEvents(); Process.Start("cmd.exe", "/k" + "tree");
Hatırladığım kadarıyla CMD komutlarını çalıştırmak için Windows Form uygulamasını yönetici olarak başlatmak gerekiyordu. Deneyip iletir misin?
 
İlk olarak gerekli sınıfı eklemen gerek.

Kod:
using System.Diagnostics;

Daha sonra butonun komut satırına CMD'yi açma komutunu eklemen gerek. C#'ta Windows uygulamalarını açmak için "process"i kullanıyoruz.

Kod:
Process.Start("cmd.exe");

CMD bu komutla açılıyor. Belli bir komutu çalıştırmak istiyorsan üstteki komuta biraz ekleme yapmalıyız.

Kod:
Process.Start("cmd.exe", "/k" + "echo Merhaba");

Bu kod satırı, CMD'de "echo merhaba" komutunu kullanmanı sağlayacak. "/k" ise CMD'nin kapanmamasına yarıyor. Kodu çalıştırdıktan sonra CMD'yi kapatmak istiyorsan "/c" yazmalısın. Yine 1 butonla 1 komut değil de birden fazla komut çalıştırmak istersen her komutun arasına "&" kullanmalısın. Örnek;

Kod:
Process.Start("cmd.exe", "/k" + "@echo off&cd C:/&title chocolax&color 1c&cls&echo Merhaba");

Kaynak: C# CMD Birden Fazla Komut Çalıştırma - Turkhackteam.org/net - Cyber Security Platform

Teşekkürler, CMD ile görüntü işleme için bir şeyler açmam gerekiyordu, ben de şöyle kullandım;

Process.Start("cmd.exe", "/k" + @"CD C:\Users\Gökhan\Desktop\üniversite\görİsleme\yolov5-master &python detect.py --source 0 --weights last.pt --M-max-det 1 --conf 0.6");

Buradaki '&' işareti hayati önem arz ediyor, nitekim yolunu girdiğim dosyanın devamına giriş yapıyor.
 
Ben ConsoleApplication dan yaptım işe yaradı ancak otomatik yazmıyor bir de altında dosyanın nerde olduğu yazıyor onuda kaldırmak istiyorum nasıl yapabilirim?
 

Technopat Haberler

Yeni konular

Geri
Yukarı