如何启动cmd窗口并在bat文件中发出尾部请求?


0

我可以通过输入以下内容打开一个cmd窗口并启动尾部:

tail -f C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log

这可能是一个愚蠢的问题,但我如何在批处理文件中执行此操作?

它应该很容易,但它不起作用 - 我尝试了几个变化而没有成功。谁能告诉我这里做错了什么?

ECHO OFF
CD C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\
cmd
tail -f sites.log

我也尝试过:

ECHO OFF
start cmd tail -f C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log

(我在64位机器上使用Win7 Ultimate,如果有任何影响的话)

Answers:


1

我能击败那个。只需创建一个快捷方式并将其放在目标字段中:

cmd.exe /K tail.exe "C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log"

这是一个班轮,所以不需要BATCH文件。

如果您确实需要脚本文件,请执行以下操作:

@echo off
tail.exe "C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log"

要不就

@tail.exe "C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log"

因为它只有1行。

我猜你的问题是你命名了BATCH文件tail.bat。然后你刚刚使用它tail C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log。这导致您的脚本引用自身,因为DOS将首先查看当前目录。它最终会tail.bat C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log一次又一次地呼唤。

更新

如果您希望窗口保持打开状态,那么您有几个选择。您可以使用以下pause命令:

@tail.exe "C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log"
@pause

或者你可以在终端内放置一个新的外壳,它在完成后保持打开状态。这将导致父shell以及终端本身保持打开状态:

@cmd.exe /K tail.exe "C:\Oracle\WebCenter\Sites\11gR1\Sites\11.1.1.6.1\logs\sites.log"

pause如果您希望窗口轻松关闭,该命令很好。只需按任意键即可。如果您通常希望在运行后运行其他命令,则第二个选项会更好。


啊很酷 - 非常感谢。蝙蝠文件有点工作,我可以看到windown打开并显示sites.log文件,但随后它自行关闭。我试过了快捷方法 - 而且效果很好。它在cmd中打开并启动尾部但随后再次突破到提示符。我可以很容易地再次输入tail -f sites.log,但是我会承认我的早晨例程有一种懒惰的方法。;-)
Kari 2014年

@Kari查看我的更新。
krowe 2014年

第二选项有效。我该如何接受答案?它工作,但我没有看到一个单击按钮并确认这一点。
卡里2014年


我点击了答案下面的检查图标 - 是那个吗?
卡里2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.