使用cmd.exe更改目录并在该目录中运行命令

使用cmd.exe更改目录并在该目录中运行命令,cmd,Cmd,我想做的就是: 更改为其他驱动器的特定目录 在该目录中运行一个命令,例如dir 我需要在一行中使用cmd.exe从另一个驱动器开始执行此操作 我会这样做: c: cd temp dir 因此,到目前为止,我在一份声明中: cmd /c c: & cd\temp & dir 但这只是给了我从p:目录开始的dir。如何从c:\temp返回目录 我无法运行批处理文件,它必须位于单行语句中。您希望在该命令行周围加引号: cmd/c“cd c://&dir”您可以使用&&or&分隔多

我想做的就是:

  • 更改为其他驱动器的特定目录
  • 在该目录中运行一个命令,例如dir
  • 我需要在一行中使用cmd.exe从另一个驱动器开始执行此操作

    我会这样做:

    c:
    cd temp
    dir 
    
    因此,到目前为止,我在一份声明中:

    cmd /c c: & cd\temp & dir
    
    但这只是给了我从p:目录开始的dir。如何从c:\temp返回目录


    我无法运行批处理文件,它必须位于单行语句中。

    您希望在该命令行周围加引号:


    cmd/c“cd c://&dir”

    您可以使用&&or&分隔多个命令

    如果cmd窗口已经打开并从命令行运行

     c: && cd\temp && dir
    


    您可能希望使用/d选项调用CD,这样不仅可以更改驱动器c:上的当前目录,还可以转到该目录(如果您还没有在该驱动器上)


    它仍然从P驱动器返回dir。这个答案添加了一些有用的东西。您需要在命令周围加引号,否则每个操作都将独立执行。正如Stagg所说,您可能希望添加/d选项来更改驱动器,尽管&和&&都允许多个命令,但对于&&来说,只有在第一个命令成功时才运行秒。您是简单地从命令行运行它,还是从其他应用程序生成cmd.exe进程?因为&和&&都为meI工作,我在命令行上进行测试,但要在c#应用程序中运行它。请注意,我还需要换一个不同的驱动器,例如启动驱动器是P:并且cmd行需要换成C:如果你已经在命令提示符下摆脱“cmd/C”,它也必须在C#app中工作,所以我用它来运行cmd/C
    cmd /c && c: && cd\temp && dir
    
     cmd /c "cd /d c:\temp && dir"