【问题标题】:commands after command "dx --dex --output=classes.dex FINAL.jar" are not executing in a batch file命令“dx --dex --output=classes.dex FINAL.jar”之后的命令未在批处理文件中执行
【发布时间】:2014-06-24 11:13:33
【问题描述】:

。 我正在尝试创建一个批处理文件以避免重复性任务, 但是我执行以从 .jar 文件创建 .dex 文件的命令 "dx --dex --output=classes.dex FINAL.jar" 之后的命令不执行。 "dx --dex --output=classes.dex FINAL.jar" 命令之前的命令串行执行良好,该命令也执行成功,它没有给我任何错误。 但是这个命令执行成功后命令提示符自动退出,其余命令不执行。

以下是我的 AUTO.bat 文件:

del Freedom_Plus_Img_Cust.apk_signed.apk
del classes.dex
dx --dex --output=classes.dex FINAL.jar
ping 1.1.1.1 -n 1 -w 30000
move /Y XXXX.apk XXXX.zip
7z d XXXX.zip classes.dex
7z a XXXX.zip classes.dex
move /Y XXXX.zip XXXX.apk 
java -jar signapk.jar certificate.pem key.pk8 XXXX.apk

setlocal EnableDelayedExpansion
@ECHO off
set /p pathName=Enter The Value:
@echo %pathName%

所以请谁能告诉我为什么会发生这种情况。对此的任何解决方案都是可行的。 提前谢谢。 注意:我使用的是 Windows XP 。 .

【问题讨论】:

  • 它在哪里退出?它会打印%pathname%
  • 不确定这是否是您的情况,但是,如果dx 是dx.bat 或dx.cmd,您将需要使用call dx --dex ...,以便被调用的批处理文件将控制权返回给调用者。
  • @npocmaka 它在执行“dx --dex --output=classes.dex FINAL.jar”命令后完全退出。它不打印任何东西,命令提示符直接退出。
  • @MC ND Thanx。 .你的评论被证明对我有用。 .我用你提到的电话。 .它对我来说很好。 .再次感谢 。 .

标签: batch-file command-line command-prompt


【解决方案1】:

我重复MC ND 的正确答案,以从未回答的问题列表中删除这个已回答的问题。

命令dx 不是命令,也不是控制台应用程序。这是另一个批处理文件。

必须使用命令CALL 从批处理文件中执行批处理文件,否则 cmd.exe 将继续对其他已执行的批处理文件执行批处理,而不返回到初始批处理文件。

有关命令CALL的详细信息,请在命令提示符窗口中执行call /?

可以使用 2 个批处理文件轻松验证此行为。

名称为 test1.bat 的批处理文件 1:

@echo off
test2.bat
echo End of test1.bat
pause

名称为 test2.bat 的批处理文件 2:

echo End of test2.bat
Pause

执行test1.bat会产生输出:

End of test2.bat
Press any key to continue . . .

test2.bat开始后的行不再被cmd.exe执行。

test1.bat 将第二行更改为call test2.bat,执行 test1.bat 时的输出变为:

End of test2.bat
Press any key to continue . . .
End of test1.bat
Press any key to continue . . .

提示:在批处理文件中,建议始终使用其文件扩展名调用其他文件(EXE、COM、BAT、CMD...)。这使得批处理文件的执行速度更快一点,因为 Windows 不需要在当前目录和环境变量 PATH 的所有目录中搜索 name.* 来查找应该执行的文件。如果批处理文件不能使用相对于当前工作目录的路径,也建议使用完整路径调用其他文件,以避免对PATH中的目录的依赖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多