Như tiêu đề là mình muốn chạy lệnh cmd bằng c#, tuy mình có xem qua nhiều bài viết nhưng nó vẫn chưa đáp ứng được yêu cầu của mình.
Mình đã sử dụng Process.Start("cmd.exe", command)
để thực hiện
Nhưng mỗi lần nó chỉ chạy được một lệnh rồi sau đó lại tắt Process
Vì vậy mình đã thực hiện như sau
Sử dụng 1 biến cục bộ với hy vọng có thể dùng lại nó.
Tuy nhiên với cách này thì nó cũng chạy được 1 lần và khi cần lần thứ 2 nó sẽ báo lỗi ở câu lệnh CMD.BeginOutputReadLine()
mình không rõ lỗi là gì nhưng hình như là nó nói rằng lệnh đó đã được gọi bởi lần chạy trước rồi nên không thể gọi lại được nữa.
Vậy thì làm sao mình có thể chạy lệnh nhiều lần trên cùng 1 Process và thêm nữa làm sao để cho mình có thể sử dụng kết quả của lần chạy trước cho lần chạy tiếp theo, như là:
- Đầu tiền mình sẽ chạy lệnh “cd …”
- lệnh tiếp theo sẽ được thực hiện dựa trên thư mục vừa mẹ của thư mục vừa thực hiện
cd ..
như làls
haypwd
chẵn hạn.
Vậy mọi người cho mình hỏi làm sao để làm được như vậy ạ. Process có thể đáp ứng được các yêu cầu trên không hay là phải dùng 1 cách khác ạ.