我想在Windows CMD控制台中运行两个命令。
在Linux中我会这样做
touch thisfile ; ls -lstrh
在Windows上是怎么做的呢?
我想在Windows CMD控制台中运行两个命令。
在Linux中我会这样做
touch thisfile ; ls -lstrh
在Windows上是怎么做的呢?
当前回答
&是Bash中等价的;&&是Bash中的&&(只在前一个没有导致错误时才运行命令)。
其他回答
当在同一行上运行多个命令时,可以使用许多处理符号,在某些情况下可能导致处理重定向,在其他情况下可能改变输出,或者导致失败。一个重要的例子是将操作变量的命令放在同一行。
@echo off
setlocal enabledelayedexpansion
set count=0
set "count=1" & echo %count% !count!
0 1
正如您在上面的例子中看到的,当使用变量的命令被放在同一行时,您必须使用延迟展开来更新变量值。如果你的变量被索引了,使用CALL命令和%%修饰符来更新它在同一行的值:
set "i=5" & set "arg!i!=MyFile!i!" & call echo path!i!=%temp%\%%arg!i!%%
path5=C:\Users\UserName\AppData\Local\Temp\MyFile5
当您尝试在一行中使用或操作变量时,请注意它们的内容!例如,如下所示的变量
PATH=C:\程序文件(x86)\某处;“C: \企业\酷工具”;% USERPROFILE % \ AppData \当地\ \ WindowsApps微软;
可能会导致很多无法处理的麻烦,如果你使用它作为%PATH%
右括号终止组语句 双引号不允许使用%PATH%来处理圆括号问题 像%USERPROFILE%这样的引用变量将包含什么?
在windows中,我使用了上述所有解决方案&,&&,但都不起作用 ';'符号终于为我工作了
npm install; npm start
cmd /c ipconfig /all & Output.txt
该命令执行命令并在一个命令中打开Output.txt文件
我尝试在同一个窗口中有两个ping,它是在同一行上的串行命令。完成第一个命令后,执行第二个命令。
解决方案是在Windows 7命令提示符中结合start /b。
像往常一样启动,不带/b,并在单独的窗口中启动。
在同一行中用于启动的命令是:
start /b command1 parameters & command2 parameters
无论如何,如果您希望解析输出,我不建议使用这种方法。 我注意到输出在命令的输出之间被打乱了。