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

在Linux中我会这样做

touch thisfile ; ls -lstrh

在Windows上是怎么做的呢?


当前回答

So, I was trying to enable the specific task of running RegAsm (register assembly) from a context menu. The issue I had was that the result would flash up and go away before I could read it. So I tried piping to Pause, which does not work when the command fails (as mentioned here Pause command not working in .bat script and here Batch file command PAUSE does not work). So I tried cmd /k but that leaves the window open for more commands (I just want to read the result). So I added a pause followed by exit to the chain, resulting in the following:

cmd /k C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "%1" /codebase \"%1\" &暂停&退出

这就像一个咒语——RegAsm在文件上运行并显示其结果,然后显示“按任意键继续…”提示符,然后当按下一个键时命令提示符窗口关闭。

P.S.对于其他可能感兴趣的人,你可以使用以下.reg文件条目来添加一个dllfile关联到.dll文件,然后再添加一个RegAsm命令扩展名(注意转义的引号和反斜杠):

[HKEY_CLASSES_ROOT\.dll]
"Content Type"="application/x-msdownload"
@="dllfile"

[HKEY_CLASSES_ROOT\dllfile]
@="Application Extension"

[HKEY_CLASSES_ROOT\dllfile\Shell\RegAsm]
@="Register Assembly"

[HKEY_CLASSES_ROOT\dllfile\Shell\RegAsm\command]
@="cmd /k C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\regasm.exe \"%1\" /codebase \"%1\" & pause & exit"

现在我有了一个很好的右击菜单来注册程序集。

其他回答

我尝试在同一个窗口中有两个ping,它是在同一行上的串行命令。完成第一个命令后,执行第二个命令。

解决方案是在Windows 7命令提示符中结合start /b。

像往常一样启动,不带/b,并在单独的窗口中启动。

在同一行中用于启动的命令是:

start /b command1 parameters & command2 parameters

无论如何,如果您希望解析输出,我不建议使用这种方法。 我注意到输出在命令的输出之间被打乱了。

很简单:用&&符号区分它们。 例子:

echo "Hello World" && echo "GoodBye World".

“再见世界”将印在“你好世界”之后。

在windows 10中,你也可以使用scriprunner:

ScriptRunner.exe -appvscript demoA.cmd arg1 arg2 -appvscriptrunnerparameters -wait -timeout=30 -rollbackonerror -appvscript demoB.ps1 arg3 arg4 -appvscriptrunnerparameters -wait -timeout=30 -rollbackonerror

它允许你在一行上启动几个命令,你可以连续运行它们,也可以不等待彼此,你可以设置超时和错误回滚。

尝试用这些行创建一个.bat或.cmd文件,使用doskey和$T,相当于&,在一行中执行多个命令行:

touch=echo off $T echo. ^> $* $T dir /B $T echo on

它将创建一个空文件。

例子:

touch myfile

在cmd中,你会得到这样的东西:

但是正如前面提到的,建议使用&操作符从CMD提示符在一行中执行多个命令行。

喜欢=)

不,cd / && tree && echo %time%。回显的时间是第一个命令执行时的时间。

管道有一些问题,但这并不重要,只要人们知道它是如何工作的。