Batch file 使用批处理文件完成后退出子例程

Batch file 使用批处理文件完成后退出子例程,batch-file,cmd,Batch File,Cmd,我正试图通过命令行使用jadx对多个apk进行反向工程。要执行此任务,我将使用批处理文件。批处理文件中的命令包括: cd E:\MAL_DATASET\REV_CODE\DroidKungfu MKDIR 0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk cd C:\Users\Home\Downloads\jadx-0.6.0\bin cmd /C start /wait jadx -d E:\MAL_DA

我正试图通过命令行使用jadx对多个apk进行反向工程。要执行此任务,我将使用批处理文件。批处理文件中的命令包括:

cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
cmd /C start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
cmd /C start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
cmd /C start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
我面临的问题是,每次执行start/wait命令时,我都必须退出子进程窗口,如下图所示:


是否有任何方法可以使该流程自动化,即子流程自动退出。我试过cmd/C,但在这种情况下不起作用。谢谢。

您正在呼叫cmd/c和start/wait,这毫无意义

cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
此外,您不必每次都用CD创建DIR,您可以一次性将CD刻录到bin,然后使用完整路径运行mkdir,每次只需运行
jadx

cd C:\Users\Home\Downloads\jadx-0.6.0\bin
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk

MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
更好的是,在批处理文件中,它将自动等待进程终止,因此无需启动等待。因为您正在调用批处理,所以只需使用cmd/c运行它

cd C:\Users\Home\Downloads\jadx-0.6.0\bin
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cmd /c jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk

MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cmd /c jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
cmd /c jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk

您正在调用cmd/c和start/wait,这毫无意义

cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cd E:\MAL_DATASET\REV_CODE\DroidKungfu
MKDIR 00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
cd C:\Users\Home\Downloads\jadx-0.6.0\bin
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
此外,您不必每次都用CD创建DIR,您可以一次性将CD刻录到bin,然后使用完整路径运行mkdir,每次只需运行
jadx

cd C:\Users\Home\Downloads\jadx-0.6.0\bin
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk

MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
start /wait jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
更好的是,在批处理文件中,它将自动等待进程终止,因此无需启动等待。因为您正在调用批处理,所以只需使用cmd/c运行它

cd C:\Users\Home\Downloads\jadx-0.6.0\bin
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk
cmd /c jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk

MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
cmd /c jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\001e0f67b5bb9ddab14facbef94791eaed0eb939bcb651d19dafd0e2a05d8178.apk
MKDIR E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk
cmd /c jadx -d E:\MAL_DATASET\REV_CODE\DroidKungfu\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk E:\MAL_DATASET\Derbin-data\chk_dir\DroidKungFu--------5\00621e015191863041e78726b863b7e1374b17fda690367878d1272b0e44b232.apk

您可以使批处理文件更易于调整和读取,例如:

@ECHO关闭
设置“srcDir=E:\MAL\u数据集\REV\u代码\DroidKungfu”
设置“binDir=%HOMEDRIVE%%HOMEPATH%\Downloads\jadx-0.6.0\bin”
设置“chkDir=E:\MAL\U数据集\Derbin数据\chk\U目录\DroidKungFu-------5”
设置“APK1=0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk”
设置“APK2=001E0F67B5BB9DDAB14FACBE94791EAED0EB939BCB651D19DAFD0E2A05D8178.apk”
设置“APK3=00621E015191863041E78726B863B7E1374B17FDA6903678D1272B0E44B232.apk”
CD/D“%binDir%”
对于“%APK1%”“%APK2%”“%APK3%”中的%%A,请执行以下操作(
如果不存在“%srcDir%\%%%A\”MD“%srcDir%\%%%A”
CMD/S/C“jadx-d”%srcDir%\%%%A”“%chkDir%\%%%A”“)

您可以使批处理文件更易于调整和读取,例如:

@ECHO关闭
设置“srcDir=E:\MAL\u数据集\REV\u代码\DroidKungfu”
设置“binDir=%HOMEDRIVE%%HOMEPATH%\Downloads\jadx-0.6.0\bin”
设置“chkDir=E:\MAL\U数据集\Derbin数据\chk\U目录\DroidKungFu-------5”
设置“APK1=0015ae7c27688d45f79170dcea16131ce557912a1a0c5f3b6b0465ee0774a452.apk”
设置“APK2=001E0F67B5BB9DDAB14FACBE94791EAED0EB939BCB651D19DAFD0E2A05D8178.apk”
设置“APK3=00621E015191863041E78726B863B7E1374B17FDA6903678D1272B0E44B232.apk”
CD/D“%binDir%”
对于“%APK1%”“%APK2%”“%APK3%”中的%%A,请执行以下操作(
如果不存在“%srcDir%\%%%A\”MD“%srcDir%\%%%A”
CMD/S/C“jadx-d”%srcDir%\%%%A”“%chkDir%\%%%A”“)


为什么要在cmd.exe中调用cmd.exe?另外,您正在运行cmd/c,这意味着它将关闭您调用的cmd,然后您将在start中等待它?什么
cmd/c start/wait
does是启动cmd的新副本,然后执行
start…
命令。你真的想这么做吗?尝试从那些
start/wait…
命令的开头删除
cmd/c
。如果我不使用cmd/c,每次执行start/wait命令时,命令行都会询问是否确认终止批处理文件(y/n)@Hasnain。然后,您发现有东西试图手动终止批处理。什么是
jadx
?批处理文件、控制台应用程序或其他任何东西?不要使用
start
,除非您出于某种原因确实需要它!如果
jadx
是批处理文件,请使用
调用jadx…
;如果是控制台应用程序,只需使用
jadx…
;如果确实需要
start
,则使用
start/WAIT jadx…
,或者,如果出于任何原因需要,则使用
start/WAIT cmd/C…
…为什么要在cmd.exe中调用cmd.exe?另外,您正在运行cmd/c,这意味着它将关闭您调用的cmd,然后您将在start中等待它?什么
cmd/c start/wait
does是启动cmd的新副本,然后执行
start…
命令。你真的想这么做吗?尝试从那些
start/wait…
命令的开头删除
cmd/c
。如果我不使用cmd/c,每次执行start/wait命令时,命令行都会询问是否确认终止批处理文件(y/n)@Hasnain。然后,您发现有东西试图手动终止批处理。什么是
jadx
?批处理文件、控制台应用程序或其他任何东西?不要使用
start
,除非您出于某种原因确实需要它!如果
jadx
是批处理文件,请使用
调用jadx…
;如果是控制台应用程序,只需使用
jadx…
;如果您确实需要
start
,则使用
start/WAIT jadx…
,或者,如果出于任何原因需要,则使用
start/WAIT cmd/C…
。如果我不使用cmd/C,则每次执行start/WAIT命令时,命令行都会询问是否确认终止批处理文件(y/n)。不可能。启动/等待等待程序完成。如果它要求确认,则表示您试图强制批处理终止。事实上,在批处理文件中运行时,您根本不需要调用start/w,它会自动执行wait.wait。jadx本身也是批次吗?啊,好的。然后在不启动/等待的情况下尝试cmd/c,或者使用-h或-?切换查看ITI是否有退出开关如果我不使用cmd/c,每次执行start/wait命令时,命令行都会询问是否确认终止批处理文件(y/n)。不可能。启动/等待等待程序完成。如果它要求确认,则表示您试图强制批处理终止。事实上,在批处理文件中运行时,您根本不需要调用start/w,它会自动执行wait.wait。jadx本身也是批次吗?啊,好的。然后在不使用start/wai的情况下尝试cmd/c