2014-03-13 78 views
2

好的,所以我有一个批处理文件,它在CMD中显示的方式与我编写它的方式不同。批处理文件在输出命令之前添加一个随机的“1”。

原始线 - 和ADB命令以root身份启动一个shell,并将通常在窗口中看到的文件打印到文件中。

adb shell "su" >rootcheck.tk 

当我运行该批处理文件,这是在窗口中显示的内容...

adb shell "su" 1>rootcheck.tk 

现在,奇怪的是它仍然打印,我需要它,正确的文件。我最大的问题是批处理文件不能自动关闭。我尝试添加一个退出命令,但它在第一个命令之后没有运行任何命令,该命令在输出之前显示为随机的“1”。

我敢肯定,这是一个小而愚蠢的,我在这里失踪。谢谢!

+1

'1'指向标准输出流,'1>'将stdout重定向到某个东西。 2是stderr,与许多unix shell相同。如果你做'dir> a.txt 2>&1',你会将stdout和stderr重定向到文件。 – jpw

+2

没有错。 '>'是'1>的简写'' –

+0

是什么导致它暂停而不关闭?我尝试使用如下面所述的“foxidrive”这样的调用命令,但是这并不能奏效。如果冻结剩下的电话就不执行。 – Ajster1989

回答

1

adb shell命令保持窗口打开UIAM。
使用此将在另一个窗口中启动adb。

start "" adb shell "su" >rootcheck.tk 

当在脚本中使用其他批处理文件中,你需要使用这个语法

call mybatch.bat 

否则脚本将无法继续。

+0

脚本中没有批处理文件被调用。 – Ajster1989

+1

看到我编辑的答案。 – foxidrive

+0

我可以通过从Visual Basic脚本中调用它来修复它,而关于它是如何运行的更好......怪异...... – Ajster1989

相关问题