bat脚本怎么写,用参数问题

echo. 正在处理...
java -jar signapk.jar testkey.x509.pem testkey.pk8 Call_Vibrator.apk Call_Vibrator_S.apk
echo. 签名完成
echo.
echo. Zip优化
zipalign.exe -v 4 Call_Vibrator_S.apk C:\Users\Acer\Desktop\Call_Vibrator.apk
echo. 处理完毕

我现在要实现的是点击这个脚本,能对apk文件进行处理,就是名字不一定是Call_Vibrator.apk,怎么用参数去替代,即:
第一句命令: *.apk --> *_s.apk
第二句命令: *_s.apk --> C:\Users\Acer\Desktop*.apk
谢谢!

需要用for循环,下面示例各替代那一长句命令,其中%%i 代表每轮原文件名(带后缀的)%%~ni 原文件主名(不带后缀的)而前面加的cd/d "%~dp0"表示处理批处理所在目录,如果批处理文件想放其它位置,把%~dp0换成需要处理路径即可(那长句命令我只换了原名及原主名并加了引号以兼容文件及路径名含空格,其余照贴的你自己审核命令正确性)

第一种

cd/d "%~dp0"
for /f "delims=" in ('dir/b *.apk^|findstr/iev "_s\.apk"') do (
java -jar signapk.jar testkey.x509.pem testkey.pk8 "%%i" "%%~ni_s.apk"
)

第二种

cd/d "%~dp0"
for /f "delims=" %%i in ('dir/b *_s.apk')do (
   set fn="%%~ni"
   setlocal enabledelayedexpansion
   set "fn=!fn:~,-2!"
   zipalign.exe -v 4 "%%i"  "C:\Users\Acer\Desktop\!fn!.apk"
   endlocal
)

追问

两条命令是在同一个bat里面的,bat同目录里只有一个apk文件就不用for是吧?
两条能何在一起吗?追分,感谢并期待您的后续解答!

追答

1 只要你的java和zipalign.exe 不支持通配符* 则总是要用for命令,虽为循环命令但只"循环"一次也没什么不妥
2 当然可以在一个批处理中,我写的只替那长句命令且那cd/d那句只开始用一次或当批处理是双击运行就处理所在目录的文件的,那么一次都不用写
另外追分就免了

温馨提示:内容为网友见解,仅供参考
无其他回答

bat脚本怎么写,用参数问题
需要用for循环,下面示例各替代那一长句命令,其中%%i 代表每轮原文件名(带后缀的)%%~ni 原文件主名(不带后缀的)而前面加的cd\/d "%~dp0"表示处理批处理所在目录,如果批处理文件想放其它位置,把%~dp0换成需要处理路径即可(那长句命令我只换了原名及原主名并加了引号以兼容文件及路径名含...

bat文件使用参数
批处理文件可以使用参数来提高效率和简化操作。常规使用的参数数量从1%到9%,多个参数时使用shift命令,虽然不常见,但了解其使用方法是有益的。举个例子,使用`format.bat`脚本来连续格式化软盘。运行方式为`fomat.bat a`,这能简化连续格式化多张软盘的过程。另一个例子是利用批处理文件创建IPC$连接。...

windows bat脚本怎么写
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的 标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。 语法 call [[Drive:][Path] FileName ] [:label [arguments]] 参数 [Drive:}[Path] FileName 指定要调用的批处理程序的位置和名称。【 star...

bat文件语法和技巧(bat文件的编写及使用
命令提示符:BAT文件中,每一行代表一个命令。命令从上到下依次执行。变量:BAT文件中可以使用变量来存储值,然后在脚本中使用这些值。例如,使用set命令为变量赋值。条件语句:使用if语句进行条件判断,根据条件执行不同的命令。循环结构:通过for循环来重复执行一组命令,直到满足特定条件。3. BAT文件编写...

bat脚本问题 求助
方法1 Echo OffEcho.>test1.datStart notepad "%~dp0\\test1.dat"以上代码是直接创建一个特定后缀名的文本文件,然后用记事本打开他.这样用记事本编辑完后退出记事本.文件就已经创建好了.方法2 str=InputBox ("请输入数据","输入框","请在这里输入数据")If str > 0 Then Set fso = ...

写一个bat文件,传两个参数,在两个参数之间循环。参数是日期形式的字符串...
首先说一下问题,因为在批处理开始执行的时候,每一个引用的变量都会被扩充。因此重新变量赋值改变后,使用%变量%来引用变量值的话,得到的会是原来的变量值,启用延迟变量扩充可以解决。看一个例子:set var=value if "%var%"=="value" (set var=new_value if "%var%"=="new_value" @echo ...

BAT脚本问题
1.5 192.168.1.100 192.168.1.55 echo off setlocal enabledelayedexpansion rem 下面这个n设置是ping的次数!set n=2 rem 下面这个w是响应等待时间,不知道是什么的话就不用改它了。set w=5000 for \/f "delims=" %%a in (ip.txt) do (ping -n !n! -w !w! %%a )pause>nul ...

如何使用BAT中的批处理?
BAT批处理中,变量操作是编写脚本的关键部分。我们可以通过不同的注释形式和变量操作来实现字符串的赋值、设置、拼接和截取。这里,我们以一个实际场景为例,假设需要创建一个脚本来处理命令行参数:接收发送者(sender)、接收者(receiver)和信息内容(message),并输出这些信息。首先,我们设置变量。使用...

怎么用bat脚本创建一个txt文件,内容为指定个数的“FF”
::设置个数 set Num=100 ::设置字符串 set Str=FF ::设置文本文档 set File=TextFile.txt set "Var="for \/l %%a in (1,1,%Num%) do (if not defined Var (set "Var=%Str%") else (set "Var=!Var! %Str%"))>"%File%" echo !Var!pause call :Donate exit :Donate set "...

windows bat脚本问题
Windows .bat 脚本简单用法介绍:一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。语法:echo [{on│off}] [message]Sample:@echo off \/ echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道...

相似回答