windows环境下, 想获得执行cmd命令后的返回值如cmd下,执行dir,stdout中输出了当前目录的列表,执行后的返回值怎么获得,想知道返回值是0还是多少,怎么打印出来另,windows有没有什么命令行工具,比如像linux中的grep、nstat之类的,并不是要找和windows中对应的类似grep、nstat这样的命令,而是linux的程序大多是命令行的形式,windows下现在还有没有命令行程序可以安装

解决方案 »

  1.   

    最省事的是重定向到一个文件里
    grep功能可以用find实现。netstat就不清楚了。如果对命令提示符完全没了解,倒是可以考虑学习一下power shell。这个功能更强大,cmd和shell比功能还是太弱,powershell的功能更完备。
    如果你装的是win10,可以装一个bash组件
      

  2.   


    我会把stdout和stderr的内容重定向到一个文件里,用a.exe 1> a.txt、a.exe 2> a.txt还请教一下怎样把返回值重定向到文件中呢
      

  3.   

    返回值是什么概念?它的返回值就在stdout里了呀。
    还是说类似shell里的$?,命令运行的成功/失败状态?这个是%errorlevel%。
      

  4.   


    就是类似C程序里的 return后跟的那个值,正常是0,异常分别对应不同数值对cmd命令内部不了解,不知道有这种返回值吗
      

  5.   

    %errorlevel%
      

  6.   


    那%errorlevel%怎么获取呢,可以重定向到文件中吗
      

  7.   

    直接读 %errorlevel% 变量的值就行。echo出来重定向也行。
      

  8.   

    直接读 %errorlevel% 变量的值就行。echo出来重定向也行。
    这个怎么读取啊,怎么操作