C#内部执行cmd命令与外部cmd执行命令结果不一致?

时间:2022-09-02 23:35:22
我在外部的cmd执行dir命令和在C#调用cmd执行dir命令结果不一致,c#调用的显示的文件要少很多,这是为什么,是C#调用cmd程序有什么限制吗

11 个解决方案

#1


有人遇到过这个问题吗
还有个情况,在外部cmd执行telnet命令正常,但是在c#中调用cmd执行telnet命令就报“不是内部或外部命令,也不是可运行的程序”,所以才想通过dir看看,结果C#调用的cmd弹出窗口中c:\windows\system32目录下没有telnet.exe文件,这很奇怪,难道C#调用cmd需要什么设置吗

#2


没有啊,是一样的啊。

#3


引用 1 楼 monkyshi 的回复:
有人遇到过这个问题吗
还有个情况,在外部cmd执行telnet命令正常,但是在c#中调用cmd执行telnet命令就报“不是内部或外部命令,也不是可运行的程序”,所以才想通过dir看看,结果C#调用的cmd弹出窗口中c:\windows\system32目录下没有telnet.exe文件,这很奇怪,难道C#调用cmd需要什么设置吗

telnet.dll

#4


引用 1 楼 monkyshi 的回复:
有人遇到过这个问题吗
还有个情况,在外部cmd执行telnet命令正常,但是在c#中调用cmd执行telnet命令就报“不是内部或外部命令,也不是可运行的程序”,所以才想通过dir看看,结果C#调用的cmd弹出窗口中c:\windows\system32目录下没有telnet.exe文件,这很奇怪,难道C#调用cmd需要什么设置吗

为什么要调用cmd执行telnet?
直接执行telnet不就行了吗?

#5


客户要求用cmd执行windows自带的telnet程序
现在的问题是c:\windows\system32\telnet.exe这个程序是存在的
但是我通过C#调用cmd执行这个命令就出错:
截图如下:
C#内部执行cmd命令与外部cmd执行命令结果不一致?

而在外部直接cmd命令可执行OK:
C#内部执行cmd命令与外部cmd执行命令结果不一致?

所以我想问问是不是C#调用cmd命令执行telnet需要什么设置,我系统是win7
代码如下:
// cmd窗口执行完命令后不关闭
                System.Diagnostics.ProcessStartInfo process = null;
                string cmd = “%windir%\\system32\\telnet.exe 127.0.0.1”; 

                process = new System.Diagnostics.ProcessStartInfo();
                process.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                process.FileName = "cmd.exe";
                process.Arguments = "/K " + cmd;

                System.Diagnostics.Process.Start(process);

#6


已解决,多谢老大们了

#7


已解决,多谢老大们了

#8


引用 7 楼 monkyshi 的回复:
已解决,多谢老大们了

能分享一下如何解决的么?

#9


能帮忙告知怎么解决吗?? 大哥

#10


能麻烦说下怎么解决的吗

#11


垃圾,自己把问题解决了就跑了

#1


有人遇到过这个问题吗
还有个情况,在外部cmd执行telnet命令正常,但是在c#中调用cmd执行telnet命令就报“不是内部或外部命令,也不是可运行的程序”,所以才想通过dir看看,结果C#调用的cmd弹出窗口中c:\windows\system32目录下没有telnet.exe文件,这很奇怪,难道C#调用cmd需要什么设置吗

#2


没有啊,是一样的啊。

#3


引用 1 楼 monkyshi 的回复:
有人遇到过这个问题吗
还有个情况,在外部cmd执行telnet命令正常,但是在c#中调用cmd执行telnet命令就报“不是内部或外部命令,也不是可运行的程序”,所以才想通过dir看看,结果C#调用的cmd弹出窗口中c:\windows\system32目录下没有telnet.exe文件,这很奇怪,难道C#调用cmd需要什么设置吗

telnet.dll

#4


引用 1 楼 monkyshi 的回复:
有人遇到过这个问题吗
还有个情况,在外部cmd执行telnet命令正常,但是在c#中调用cmd执行telnet命令就报“不是内部或外部命令,也不是可运行的程序”,所以才想通过dir看看,结果C#调用的cmd弹出窗口中c:\windows\system32目录下没有telnet.exe文件,这很奇怪,难道C#调用cmd需要什么设置吗

为什么要调用cmd执行telnet?
直接执行telnet不就行了吗?

#5


客户要求用cmd执行windows自带的telnet程序
现在的问题是c:\windows\system32\telnet.exe这个程序是存在的
但是我通过C#调用cmd执行这个命令就出错:
截图如下:
C#内部执行cmd命令与外部cmd执行命令结果不一致?

而在外部直接cmd命令可执行OK:
C#内部执行cmd命令与外部cmd执行命令结果不一致?

所以我想问问是不是C#调用cmd命令执行telnet需要什么设置,我系统是win7
代码如下:
// cmd窗口执行完命令后不关闭
                System.Diagnostics.ProcessStartInfo process = null;
                string cmd = “%windir%\\system32\\telnet.exe 127.0.0.1”; 

                process = new System.Diagnostics.ProcessStartInfo();
                process.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                process.FileName = "cmd.exe";
                process.Arguments = "/K " + cmd;

                System.Diagnostics.Process.Start(process);

#6


已解决,多谢老大们了

#7


已解决,多谢老大们了

#8


引用 7 楼 monkyshi 的回复:
已解决,多谢老大们了

能分享一下如何解决的么?

#9


能帮忙告知怎么解决吗?? 大哥

#10


能麻烦说下怎么解决的吗

#11


垃圾,自己把问题解决了就跑了