我需要循环许多jar文件来删除以前的标记,并为每个jar重新创建这个标志,因此我为windows制作了这个脚本,它运行良好,但当出现“警告”消息时它就停止了;我不得不多次单击“关闭”。警告是因为“没有找到要删除的文件”。
@echo off
REM iterate over jar files in path
for %%x in (C:\My\Path\to\jar\files\*.jar) do (
echo Jar name: %%~nx
echo -------------------------------------
REM delete previous signatures
"C:\Program Files\WinRAR\WinRAR.exe" d %%x *.RSA *.SF
REM execute sign command
C:\My\Path\To\jarsigner.exe -keystore C:\My\Path\to\mykeystore.jks -storepass myStorepassKey -keypass myKeyspassKey %%x keys_alias
)发布于 2017-05-24 08:10:59
因为您正在编辑一个.jar文件,这本身就是一个zip文件,所以您可以避免使用WinRAR。
zip命令提供了删除zip文件中条目的方法。另外,如果安装了7zip,这在Windows中是可用的,7z d archive.jar *.RSA -r可能会做到这一点。
另见:How to delete a file from multiple zip archives using 7-Zip
发布于 2017-05-24 08:26:24
如果我做了C:\Program Files\WinRAR\rar.exe /?
我得到所有命令和开关,这意味着您应该使用rar运行:
"C:\Program Files\WinRAR\rar" d %%x *.RSA *.SFJar文件是有效的压缩文件。
帮助输出:
<Commands>
a Add files to archive
c Add archive comment
ch Change archive parameters
cw Write archive comment to file
d Delete files from archive
e Extract files without archived paths
f Freshen files in archive
i[par]=<str> Find string in archives
k Lock archive
l[t[a],b] List archive contents [technical[all], bare]
m[f] Move to archive [files only]
p Print file to stdout
r Repair archive
rc Reconstruct missing volumes
rn Rename archived files
rr[N] Add data recovery record
rv[N] Create recovery volumes
s[name|-] Convert archive to or from SFX
t Test archive files
u Update files in archive
v[t[a],b] Verbosely list archive contents [technical[all],bare]
x Extract files with full path发布于 2019-03-25 14:42:16
您可以使用-inul选项。在提取过程中,-o+ (强制覆盖)或-o(不要覆盖)选项可能也会有所帮助。
https://stackoverflow.com/questions/44152362
复制相似问题