批处理之家's Archiver

batbatbatbat 发表于 2018-12-1 10:33

批处理如何修改压缩包内文件的文件名为压缩包的文件名?

如何批量修改压缩包内文件的文件名为压缩包的文件名???

比如有3个压缩文件文件,里面的文件名分别为a.mp4,b.avi,c.swf,压缩包的文件名为1.rar,2.rar,3.rar, 压缩包解压密码一致为123456,如何批量解压压缩包,同时将解压文件名替换成1.mp4,,2.avi,3.swf

xczxczxcz 发表于 2018-12-1 16:31

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=215430&ptid=51482]1#[/url] [i]batbatbatbat[/i] [/b]

Win10 x64  WinRAR 5.6.1 环境,其它环境自行修改。[code]
@echo off & cd /d "%~dp0"
rem 获取RAR安装位置
reg query "HKLM\SOFTWARE\WinRAR" /v exe64>nul 2>nul && (
        for /f "tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\WinRAR" /v exe64') do set "R_Path=%%b"
) || for /f "tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\WOW6432Node\WinRAR" /v exe32') do set "R_Path=%%b"

for /f "delims=" %%m in ("%R_Path%\..") do set "RarPath=%%~fm"

REM 假定RAR密码为 123456
md "%temp%\RARtmp" 2>nul
for /f "delims=" %%a in ('dir/a-d/b "*.rar"') do (
        "%RarPath%\rar.exe" e ".\%%a" "%temp%\RARtmp\" -hp123456
        for /f "delims=" %%i in ('dir/a-d/b "%temp%\RARtmp\"') do "%RarPath%\rar.exe" rn ".\%%a" %%i "%%~na%%~xi"
        del /q/f "%temp%\RARtmp\*"
)
rd /s/q "%temp%\RARtmp"
pause
[/code]======================================

yhcfsr 发表于 2018-12-1 21:39

楼上来了个RAR,我就来个7ZIP[code]@echo off

rem 设置7ZIP路径
set "path=%path%;C:\Program Files\7-Zip"

rem 设置解压密码
set "password=123456"

for /r %%a in (*.rar,*.7z,*.zip) do (
        set "archpath=%%a"
        set "archname=%%~na"
        for /f "skip=18 tokens=6 delims= " %%b in ('7z l "%%a" *.* -p"%password%" -r^|find /v "files"') do (
                set "fullname=%%b"
                set "basename=%%~nb"       
                call :get_name
        )
)
pause&exit

:get_name
call,set "newname=%%fullname:%basename%=%archname%%%"
7z rn "%archpath%" "%fullname%" "%newname%" -p"%password%">nul
exit /b 0[/code]

ccccccyj 发表于 2020-2-21 10:47

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=215434&ptid=51482]2#[/url] [i]xczxczxcz[/i] [/b]


    您好,您的批处理在win10电脑测试很好,但是在win7下不能正常使用,想请教问题如下:
1. 麻烦请教如何修改环境,我的环境是win7 32位,winrar 5.4  32位。
2.如果压缩文件不只是*.rar,还有混有*.zip格式压缩文件,应该怎么办?
3.如果压缩文件没有密码,需要删除哪些命令行。

新手不懂,还请不吝赐教,谢谢。

ccccccyj 发表于 2020-2-21 10:52

4.如何设定修改压缩包内文件的文件名为压缩包的文件名并自动解压?
新手不懂,还请不吝赐教,谢谢。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.