创建一个 bat 文件或 cmd

创建一个 bat 文件或 cmd

我想创建一个 bat 文件来执行一些基本任务。当我运行它时,它会关闭窗口。我猜是错误。我怎样才能阻止 bat 关闭窗口,以便我可以查看错误。

mybat.bat:

echo cd /d d:
echo sencha create jsb -a http://my.local/ext/cutter/app/index.html -p app.jsb3
echo sencha build app.jsb3 -d .

答案1

批处理脚本运行后会自动关闭窗口,这并不表示出现错误,如果您在脚本末尾加上“暂停”一词,脚本将停止并等待您按下某个键后再继续

答案2

两个选项:

  1. 发送输出到文件 ( command > c:\output.log)

  2. 设置延迟。在较新版本,可以使用timeout \t xxxxxx 表示秒数。在旧版本中,你可以使用类似

    PING 127.0.0.1 -n 6

每次 ping 大约需要一秒钟...但是嘿,你不需要精确,对吧?:)

这两种方法都避免了暂停按钮上的疯狂

答案3

Chris 的回答是正确的。但是如果实际上出现错误时,暂停不会阻止 cmd shell 退出。下面是我在不重定向输出(并且必须继续打开输出日志文件)的情况下简单地排除故障的方法:

运行 cmd.exe。然后在命令窗口中,再运行“ cmd<enter>”几次。这会将 cmd.exe 作为 cmd.exe 的子项执行,但在同一命令窗口中。

现在从命令窗口内调用 .bat / .cmd,例如C:\Temp\mybat.bat - 如果出错,它将退出正在运行的 cmd.exe 并在窗口中显示错误(和任何其他输出),但将处理返回到同一命令窗口内的父 cmd.exe 进程。由于存在父进程,批处理窗口不会在出错时关闭。

答案4

从命令行 (cmd) 运行它,它会显示输出,并且在完成后不会关闭。它关闭的原因是,您只是将内容回显(打印)到终端。它实际上没有做任何事情。删除所有这些回显。

C:\>echo /?
Displays messages, or turns command-echoing on or off.

  ECHO [ON | OFF]
  ECHO [message]

Type ECHO without parameters to display the current echo setting.

相关内容