我想在Windows CMD控制台中运行两个命令。

在Linux中我会这样做

touch thisfile ; ls -lstrh

在Windows上是怎么做的呢?


当前回答

如果你想创建一个cmd快捷方式(例如在你的桌面上),添加/k参数(/k表示保持,/c将关闭窗口):

cmd /k echo hello && cd c:\ && cd Windows

其他回答

在windows中,我使用了上述所有解决方案&,&&,但都不起作用 ';'符号终于为我工作了

npm install; npm start

&是Bash中等价的;&&是Bash中的&&(只在前一个没有导致错误时才运行命令)。

自2000年以来,所有的微软操作系统都是这样的,直到今天仍然很好:

dir & echo foo

如果你希望第二个命令只在第一个命令成功退出时执行:

dir && echo foo

在一行上执行多个命令的单个&(&)语法可以追溯到Windows XP、Windows 2000和一些较早的NT版本。(根据这里的一个评论,至少4.0。)

关于这一点,您还可以在滚动本页面时找到其他一些观点。

下面是一些历史数据,供那些觉得有教育意义的人参考。

在此之前,&&语法只是shell替代品4DOS的一个特性,之后该特性被添加到微软命令解释器中。

在Windows 95、98和ME中,你可以使用管道字符:

dir | echo foo

在MS-DOS 5.0及以后版本中,通过一些较早的Windows和NT版本的命令解释器,(未记录的)命令分隔符是字符20 (Ctrl+T),这里我将用^T表示。

dir ^T echo foo

再举一个例子:例如,当我们使用gulp构建系统时,而不是

Gulp -默认>构建

Gulp构建-构建构建文件夹

Gulp watch -开始文件监视

Gulp dist- build dist-folder

我们可以用一行代码来实现:

cd c:\xampp\htdocs\project & gulp & gulp watch

您可以使用&来一个接一个地运行命令。示例:c:\dir & vim myFile.txt