Batch file 用于在cmd中运行命令的批处理文件

Batch file 用于在cmd中运行命令的批处理文件,batch-file,cmd,ping,ipconfig,Batch File,Cmd,Ping,Ipconfig,我正在做一个有趣的学校项目 我想创建一个windows窗体应用程序,它通过打开批处理文件在cmd中运行命令。我在使用批处理文件方面没有太多经验 我需要以下方面的帮助: 打开cmd的批处理文件 只运行一次命令,如ipconfig、ping、tracert等 保持cmd打开并显示信息 否则,我们非常感谢为批量文件的工作和学习提供良好的指南。我将给您一些提示: 默认情况下,批处理文件使用cmd打开 默认情况下,命令只运行一次 要在运行命令后保持窗口打开,请使用/k开关,即cmd/k ipconfig

我正在做一个有趣的学校项目

我想创建一个windows窗体应用程序,它通过打开批处理文件在cmd中运行命令。我在使用批处理文件方面没有太多经验

我需要以下方面的帮助:

  • 打开cmd的批处理文件
  • 只运行一次命令,如ipconfig、ping、tracert等
  • 保持cmd打开并显示信息

  • 否则,我们非常感谢为批量文件的工作和学习提供良好的指南。

    我将给您一些提示:

  • 默认情况下,批处理文件使用cmd打开
  • 默认情况下,命令只运行一次
  • 要在运行命令后保持窗口打开,请使用
    /k
    开关,即
    cmd/k ipconfig
  • 编辑:

    将其作为批处理文件的内容:

    @echo off
    ipconfig
    
    然后像这样调用批处理文件(从命令行/run等):

    或者从Winform(C#)下载:


    欢迎来到堆栈溢出!请带我参观一下。请记住,我们不是免费的编码服务;)为了得到帮助,你应该证明自己的努力。并添加您迄今为止尝试的代码!谢谢你,先生!到目前为止,我已经了解了如何使用批处理文件创建函数和创建控制台程序。但我仍然有问题。问题是我可以让我的批处理文件在cmd中输入命令,但它不会执行它。现在我得到的结果是:@echo off cmd/k ipconfig pause这似乎只是在cmd窗口的名称上写入ipconfig无限时间。我尝试了cmd/k ipconfig,之后没有停顿,这让我的cmd中没有任何内容。cd到system32并运行ipconfig.exe是否是更好的解决方案?您需要使用
    cmd/k
    调用批处理文件,而不是在文件本身中。因此,在批处理中,只需使用
    ipconfig
    ,但从winform调用进程
    cmd/k yourbatch.bat
    。值得一提的是,我正在使用win10并在虚拟环境中进行测试,以避免重新启动我的电脑(边做边学):D。这很好,应该与最佳学习方式相同:)
    cmd /k iptest.bat
    
    Process p = new Process();
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.Arguments = "/k iptest.bat"
    p.Start();