再问 panyee(快乐王子) 和 declude() 关于调用命令行的问题?

arkang168 2003-07-25 11:39:58
非常感谢你们的回复,
如果我要执行的命令不是一个.exe文件,而只是一条命令语句,比如(del C:\test.txt),该怎么做
谢谢
...全文
24 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
arkang168 2003-07-25
  • 打赏
  • 举报
回复
多谢,我执行一个简单的语句已经成功
但是,我执行这条语句时好像什么也没做,也没有报错
rsh 192.168.0.1 -l root /iptables -A FORWARD -s 127.0.0.1 -j ACCEPT

如果我在dos下,直接做就可以执行,并看到结果
是什么原因?

brightheroes 2003-07-25
  • 打赏
  • 举报
回复
你怎么可能没有,除非你用的不是Windows。
你想执行什么语句就可以。
如果要打开一个文本,去调用NOTEPAD.exe
代码如下:
string fileName = @"C:\WINNT\NOTEPAD.exe";
string pahtName = 你的txt的全路经还有名字(e;\mail.txt);
System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo(fileName,pathName);
processStartInfo.UseShellExecute = false;
processStartInfo.CreateNoWindow = true;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.RedirectStandardError = true;
System.Diagnostics.Process process = System.Diagnostics.Process.Start(processStartInfo);
process.WaitForExit();
arkang168 2003-07-25
  • 打赏
  • 举报
回复
多谢 panyee(快乐王子),可是我没有cmd.exe文件,
对我来说,好像也不需要这个文件
我现在需要的是:

我只要执行一条dos语句
panyee 2003-07-25
  • 打赏
  • 举报
回复
System.Diagnostics.Process.Start("cmd.exe", "/c del c:\\test.txt");
arkang168 2003-07-25
  • 打赏
  • 举报
回复
是在应用服务器上运行,
我换成panyee(快乐王子) 的方法,还是不行
也没有报错,只是不见执行的结果
panyee 2003-07-25
  • 打赏
  • 举报
回复
rsh是外部命令吧?

System.Diagnostics.Process.Start("rsh.exe", "192.168.0.1 -l root /iptables -A FORWARD -s 127.0.0.1 -j ACCEPT");

但我没试过你这种语句

在服务器上运行命令吗?
brightheroes 2003-07-25
  • 打赏
  • 举报
回复
如果要看到结果:
上面已经设置了processStartInfo.RedirectStandardOutput = true;
然后这样:
while(process.StandardOupPut.Peek()!= -1)
{
Console.wrightline(process.StandardOupPut.readline());
}
这样就打印到后台了。
process.StandardOupPut是一个reader,存放了输出的信息。
panyee 2003-07-25
  • 打赏
  • 举报
回复
cmd.exe是winnt自带的, 系统会直接调用
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2003-07-25 11:39
社区公告

让您成为最强悍的C#开发者