标题: [其他] 批处理怎样把压缩失败的文件写入到文本文档里? [打印本页]
作者: bluesky123 时间: 2023-8-24 06:02 标题: 批处理怎样把压缩失败的文件写入到文本文档里?
- @echo off
- chcp 65001
- cd /d "%~dp0"
- set rar="C:\Program Files\WinRAR\WinRAR.exe"
- for /f "delims=" %%i in ('dir /b /s /a-d *.rar *.zip') do (
- for /f "skip=15 delims=" %%a in ('type "%~f0"') do (
- if not defined _"%%~fi" (
- %rar% x -y "%%~fi" -hp%%a && del "%%~fi" && set _"%%~fi"=1
- )
- )
- )
- echo finish
- pause & exit
复制代码
有时候碰到系统无法识别的字符有的文件或文件夹会压缩失败,帮我把压缩失败的文件写入到一个文本文档里
作者: 77七 时间: 2023-8-24 14:31
回复 2# bluesky123
http://bbs.bathome.net/redirect.php?goto=findpost&ptid=65837&pid=272835
作者: bluesky123 时间: 2023-8-25 15:56
回复 2# 77七 我发的这个代码是解压的,搞错了,就是我的操作系统用的英文版的Win2012,然后系统语言也切换成了中文版,但是中文解压密码没办法在批处理中运行,我将bat文档改成了utf-8才解决,不过这个也就是凑合。这个问题好不好解决
作者: 77七 时间: 2023-8-25 19:27
回复 3# bluesky123
参考此贴末楼,将65001 改为936 试试。https://www.zhihu.com/question/56566162
作者: czjt1234 时间: 2023-8-26 13:21
压缩失败的,会不会生成对应的 .rar 文件,或者一个 0 字节的文件?
可以根据这个来判断不
作者: Batcher 时间: 2023-8-26 14:32
回复 1# bluesky123 - @echo off
- chcp 65001
- cd /d "%~dp0"
- set rar="C:\Program Files\WinRAR\WinRAR.exe"
- for /f "delims=" %%i in ('dir /b /s /a-d *.rar *.zip') do (
- for /f "skip=20 delims=" %%a in ('type "%~f0"') do (
- if not defined _"%%~fi" (
- %rar% x -y "%%~fi" -hp%%a
- if not errorlevel 1 (
- del "%%~fi"
- set _"%%~fi"=1
- ) else (
- >>"1.log" echo 失败的文件 %%i
- )
- )
- )
- )
- echo finish
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |