㈠ 易语言获取CMD返回值
运行 (“cmd.bat”, 真, #隐藏窗口)
把这里的参数二填真就可以了,程序自动等待它运行完毕,然后才继续执行命令
另外你需要的话我送给你一个把控制台里的文本信息发送到易语言的编辑框里来。
yun去pan.cn/lk/Q8eTHJ2HikYfQ
上面的地址先把“去”去掉,复制到浏览器然后可以下载
使用事例:
.版本 2
.支持库 spec
.子程序 __启动窗口_创建完毕
取控制台程序文本信息 (“cmd.bat”, , 编辑框1.内容, &回调函数)
.子程序 回调函数
.参数 控制台每行返回信息, 文本型
调试输出 (控制台每行返回信息)
㈡ CMD赋予返回值变量 需要执行以下命令和效果
for/f"delims="%%ain('wmicuseraccountgetsid/value')doset"%%~a">NUL
这个命令就可以获取到SID值,并赋值到SID这个变量上,然后后面调用这个SID变量即可,如下
regadd"HKEY_USERS\%SID%"
㈢ 在e语言的编辑框中显示cmd返回值 并且可以输入命令 同时不允许有人破坏cmd的返回值
E语言提供的只有标准输入和标准输出,这两个命令写明了 只能用在控制台版本的程序里所以楼主的想法很难实现,除非接触API( shellexecute 或 winexec)。
这里提供一种只靠E本身取回执行结果的方法,比如 你要执行的CMD命令是"ECHO 你好",利用E语言的写入文本命令写入到一个.BAT文件中,并且在 写入的时候追加">1.txt"(符号>是批处理语法),写入的最终成品是"ECHO 你好>1.txt",然后使用E语言运行这个.bat文件,那么执行的结果会被输出到1.txt 里面,你在用E语言读取这个1.txt 基本实现你的要求
㈣ 急,java中telnet访问远程电脑,然后执行cmd命令,再获取返回值。
需要个jar包:commons-net-3.3-bin.zip
下载地址:http://commons.apache.org/proper/commons-net/download_net.cgi
你找的代码我修改过了,复制直接使用。linux系统需要先开启telnet服务
//执行的命令
System.out.println(she.sendCommand("ll"));
这个输入linux 命令
importjava.io.InputStream;
importjava.io.PrintStream;
importorg.apache.commons.net.telnet.TelnetClient;
publicclassShell{
privateTelnetClienttelnet=newTelnetClient();
privateInputStreamin;
privatePrintStreamout;
privatecharprompt='$';//普通用户结束
publicShell(Stringip,intport,Stringuser,Stringpassword){
try{
telnet.connect(ip,port);
in=telnet.getInputStream();
out=newPrintStream(telnet.getOutputStream());
//根据root用户设置结束符
this.prompt=user.equals("root")?'#':'>';
login(user,password);
}catch(Exceptione){
e.printStackTrace();
}
}
/**
*登录
*
*@paramuser
*@parampassword
*/
publicvoidlogin(Stringuser,Stringpassword){
//read()Until("login:");
readUntil("login:");
write(user);
readUntil("Password:");
write(password);
readUntil(prompt+"");
}
/**
*读取分析结果
*
*@parampattern
*@return
*/
publicStringreadUntil(Stringpattern){
try{
charlastChar=pattern.charAt(pattern.length()-1);
StringBuffersb=newStringBuffer();
charch=(char)in.read();
while(true){
sb.append(ch);
if(ch==lastChar){
if(sb.toString().endsWith(pattern)){
returnsb.toString();
}
}
ch=(char)in.read();
System.out.print(ch);
}
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}
/**
*写操作
*
*@paramvalue
*/
publicvoidwrite(Stringvalue){
try{
out.println(value);
out.flush();
}catch(Exceptione){
e.printStackTrace();
}
}
/**
*向目标发送命令字符串
*
*@paramcommand
*@return
*/
publicStringsendCommand(Stringcommand){
try{
write(command);
returnreadUntil(prompt+"");
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}
/**
*关闭连接
*/
publicvoiddisconnect(){
try{
telnet.disconnect();
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
// TelnetClienttelnet=newTelnetClient();
try{
Shellshe=newShell("192.168.1.10",23,"root","123456");
System.out.println(she);
//执行的命令
System.out.println(she.sendCommand("ll"));
she.disconnect();
}catch(Exceptione){
//TODO:handleexception
}
}
}
㈤ C语言程序如何读取cmd命令的返回值
fp=popen(cmd,"r")
fgets(buffer, sizeof(buffer), fp);
strncmp(buffer, "success", strlen("success"))
---------------------------------------------------
pid = vfork();
if (pid == 0)
execl("/bin/sh", "sh", "-c", cmd, (char*)0)
else
while(waitpid(pid, &status, 0) < 0)
......
㈥ 现象如下: CMD0,CMD8指令,返回值均正确,执行到CMD55+ACMD41时,CMD55返回值为1,ACMD41返回值为1。循环
请确认你发ACMD41时的输入参数,此参数设定OCR电压范围值,如果设定太小而发命令后实际SD所测电压范围如你设定值不匹配(超出范围)则反复循环检测
㈦ 易语言读取cmd内的命令返回值,并保存到txt文件,txt无内容,怎么解决
把你命令后面加上我括号里的内容(>d:/返回的信息.txt) 然后打开你的D盘看下效果吧! 要是用易语言就用下面的 .版本 2 .子程序 _按钮1_被单击写到文件 (“d:/易语言写出的文件.txt”, 到字节集 (编辑框1.内容)) ----------------------------------------------------------------------------------------- 编辑框1。内容是你返回的信息,你可以用个变量保存你的信息,然后如。。。 A 文本型 A=取DOS执行结果()写到文件 (“d:/易语言写出的文件.txt”, 到字节集 (A)) ------------------------------------------------------------------- 写到文件 (“d:/易语言写出的文件.txt”, 到字节集 (取DOS执行结果())) -------------------- 方法太多了,不知道你要的哪个。。。。
㈧ 如何在C语言中调用cmd命令
在C语言中调用shell命令的方法实现。
C程序调用shell脚本共有两种方法 :system()、popen(),分别如下:
system()
不用自己去创建进程,系统已经封装了这一步,直接加入自己的命令即可
popen() 也可以实现执行的命令,比system
开销小
以下分别说明:
1)system(shell命令或shell脚本路径);
system()
会调用fork()产生 子历程,由子历程来调用/bin/sh-c string来履行 参数string字符串所代表的命令,此命令履行
完后随即返回原调用的历程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被漠视 。
返
回值:如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值。 如果
system()调用成功 则最后会返回履行 shell命令后的返回值,但是此返回值也有可能为system()调用/bin/sh失败所返回的127,因
此最好能再反省 errno 来确认履行 成功 。
system命令以其简略
高效的作用得到很很广泛 的利用 ,下面是一个例子
例:在/tmp/testDir/目录下有shell脚本tsh.sh,内容为
#!/bin/sh
wget $1
echo "Done!"
2)popen(char
*command,char *type)
popen()
会调用fork()产生 子历程,然后从子历程中调用/bin/sh -c来履行 参数command的指令。参数type可应用
“r”代表读取,“w”代表写入。遵循此type值,popen()会建立 管道连到子历程的标准 输出设备 或标准 输入设备
,然后返回一个文件指针。随后历程便可利用 此文件指针来读取子历程的输出设备 或是写入到子历程的标准 输入设备 中。此外,所有应用 文
件指针(FILE*)操作的函数也都可以应用 ,除了fclose()以外。
返回值:若成功
则返回文件指针,否则返回NULL,差错 原因存于errno中。注意:在编写具SUID/SGID权限的程序时请尽量避免应用
popen(),popen()会继承环境变量,通过环境变量可能会造成系统安全的问题。
例:C程序popentest.c内容如下:
#include<stdio.h>
main
{
FILE * fp;
charbuffer[80];
fp=popen(“~/myprogram/test.sh”,”r”);
fgets(buffer,sizeof(buffer),fp);
printf(“%s”,buffer);
pclose(fp);
}
㈨ 请问在Java里 运行cmd命令接收其返回值,最关键的是如何不让那个cmd窗口弹出来,不是执行完关
使用java执行本机程序的功能,别运行cmd,直接运行netstat,可以把输出重定向后获得输出的信息
㈩ 怎么用易语言读取cmd内的命令返回值,并保存到某个txt文件。
把你命令后面加上我括号里的内容(>d:/返回的信息.txt)
然后打开你的D盘看下效果吧!
要是用易语言就用下面的
.版本 2
.子程序 _按钮1_被单击
写到文件 (“d:/易语言写出的文件.txt”, 到字节集 (编辑框1.内容))
-----------------------------------------------------------------------------------------
编辑框1。内容是你返回的信息,你可以用个变量保存你的信息,然后如。。。
A 文本型
A=取DOS执行结果()
写到文件 (“d:/易语言写出的文件.txt”, 到字节集 (A))
-------------------------------------------------------------------
写到文件 (“d:/易语言写出的文件.txt”, 到字节集 (取DOS执行结果()))
--------------------
方法太多了,不知道你要的哪个。。。。