批处理如何修改压缩包内文件的文件名为压缩包的文件名?
如何批量修改压缩包内文件的文件名为压缩包的文件名???比如有3个压缩文件文件,里面的文件名分别为a.mp4,b.avi,c.swf,压缩包的文件名为1.rar,2.rar,3.rar, 压缩包解压密码一致为123456,如何批量解压压缩包,同时将解压文件名替换成1.mp4,,2.avi,3.swf [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]====================================== 楼上来了个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] [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.如果压缩文件没有密码,需要删除哪些命令行。
新手不懂,还请不吝赐教,谢谢。 4.如何设定修改压缩包内文件的文件名为压缩包的文件名并自动解压?
新手不懂,还请不吝赐教,谢谢。
页:
[1]