
非常赞成 陌生时空 和 xxpinqz 两位网友的回答,补充一点:
"E:\Android\Android Decompile\Ter-dex2jarjd-gui\apktool\apktoolbat" d -f %~dp0!apkFileName! %~dp0!sourceFileName!
此句 前面应该加个call 估计也是出现问题关键所在
此句看起来很长,其实就是 xxbat 几个参数 的结构,批处理中调用另一批处理必须带call调用,否则返回不了,而调用windows很多窗口程序前面要带start调用也有类似道理,不过一个是等待被调用批处理结束后返回, 一个是不要等(除非start带/wait)start调用的结束就继续执行批处理后续命令
所以应该不是所说的那个位置变量值变成空了,而是另一批处理(包括它再调用的程序)出了问题而被误会,这个很容易检测,在此句之下加句检测命令 echo 返回否&pause 甚至临时加上适当右括号使前面的括号匹配成对,写批处理要会自己检测错误,此句前设个检测点没问题,此句后检测就有问题了,当然就是这一句问题了。可以说,根据代码用途只要此句能返回,是不会出现所说的变量值变空的。
顺便提醒一下,此句调用的那个批处理是否利用了它自己的当前路径不然此句前应改变一下当前路径比如
pushd "E:\Android\Android Decompile\Ter-dex2jarjd-gui\apktool"
call apktoolbat d -f %~dp0!apkFileName! %~dp0!sourceFileName!
popd
不一定非要用ntsd命令结束进程啊,可以用taskkill=======================
:voice
start voicewav
delayvbs 5
taskkill /f /im kugouexe
delayvbs 60
======================================
ren是rename的缩写,如果需要给文件重命名,可使用rename命令。
语法:rename<旧文件名><新文件名>
ren<旧文件名><新文件名>
参数:<旧文件名>请参数指定要更名的文件。
<新文件名>请参数指定更名后的文件。
说明:ren命令把由<旧文件名>指定的磁盘文件改变为<新文件名>所指定的名称。改名后原文件名消失,新文件名列于磁盘目录中,原文件内容不变。
扩展资料:
批处理命令列举
rem 命令
注释命令,类似于在C语言中的/--------/,它并不会被执行,只是起一个注释的作用,只有在编辑批处理时才会被看到,主要用于方便修改。
pause 命令
暂停命令。运行 Pause 命令时,将显示下面的消息:
Press any key to continue (或:请按任意键继续 )
start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
参考资料来源:百度百科-批处理
shim_batchtxt 行尾不要有\r,如下
map_000001dat
apar90fig
1
0
irondat’
50000
3
然后批处理文件包含如下 内容
@start feshim06exe < shim_batchtxt
在EXE文件文本文件之间用一个小于号,表示将feshim06exe的输入重定向为文本文件
以上就是关于批处理中for语句中的变量在执行外部程序后会自动变成空值呢全部的内容,包括:批处理中for语句中的变量在执行外部程序后会自动变成空值呢、求一段调用系统声音或外部声音的dos批处理程序、批处理之ren命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)