makecab命令使用时的有关问题
makecab命令使用时的问题现有一个_file.txt,里面每一行都是一个文件的绝对路径。但是,_file.txt中的有的文
makecab命令使用时的问题 现有一个_file.txt,里面每一行都是一个文件的绝对路径。 但是,_file.txt中的有的文件可能不存在,或者无法读取。也可能有2行路径重复,或者2个文件同名的情况。 需要使用makecab命令将其建立为一个压缩包。 但是,makecab每遇到一个文件不存在或两行内容相同,就会产生错误信息,诸如: ERROR: Duplicate file name : xxx already define at ... ERROR: Could not find file : xxxxxx 最后就是: ERROR: MakeCAB aborted: xxx errors encountered 我想要的结果是,文件找到了就压缩进去,没找到就算了,但最后也得生成个CAB包。不要碰到错误就停止压缩了。 难道连个On Error Resume Next的选项都没有吗?[最优解释]
引用: 引用: 用批处理把_file.txt处理一下,然后再makecab 你怎么用批处理找2个文件重名或2个路径重复的情况?要是这么轻松我早用了。 批处理肯定办得到了
[其他解释] makecab XXX
[其他解释] echo "error"
[其他解释] 如果 makecab 没有提供忽略错误个数的话,试试将某文件加入 cab 前先看看文件是否存在?或者,修改 makecab.exe 程序文件让其无视这样错误个数。
[其他解释] 用批处理把_file.txt处理一下,然后再makecab
[其他解释] 引用: 用批处理把_file.txt处理一下,然后再makecab 你怎么用批处理找2个文件重名或2个路径重复的情况?要是这么轻松我早用了。
[其他解释] 执行makecab命令,
然后
@if ERRORLEVEL 1 (
//错误处理
)
DOS命令错误有分等级的,自己多多测试
[其他解释] 引用: 执行makecab命令, 然后 @if ERRORLEVEL 1 ( //错误处理 ) DOS命令错误有分等级的,自己多多测试 大哥,我要让makecab执行成功,不是失败,因为我想要压缩包。
如果makecab.exe返回失败,你能告诉我怎样得到压缩包吗= =?
现在我不求前2条解决,就处理2个文件不同路径但是同名的情况吧,makecab不会连这个都搞不定?
[其他解释] makecab只负责打包,你给错误命令别人也要执行成功?
自己检测_file.txt的路径是否存在,把不存在的路径过滤掉,再生成。
(用find命令写脚本,返回是否存在,如果find命令有问题,记得拷贝个find.exe到)
[其他解释] 不要把批处理想得太弱,也不要想得太强,处理楼主这个问题还是措措有余的
100分拿来吧
@echo off set fn=d:\_file.txt set ftmp=d:\filelist.tmp set cabfn=a.cab cd.>%ftmp% for /f "tokens=*" %%a in (%fn%) do ( if exist "%%a" ( findstr /i %%~xna %ftmp%