我进行了以下批处理以压缩list.txt
文件中的多个文件夹。
call "C:\Program Files\WinRAR\WinRAR" a -Rar -m5 -ed -pTest -r -ep3 C:\Backup\Backup.rar @list.txt
当我运行它时,这非常有效。但是,当我使用Windows任务计划程序安排此批处理文件运行时,它会产生WINRAR错误:
无法打开list.txt系统找不到指定的文件。
任务很简单启动程序=> “C:\批次\ BACKUP.BAT”
我在这里找到的解决方案是从命令行开始,如:
cmd /c "C:\Batch Backup\backup.bat"
< =也试过这个,但它也会出现同样的错误。
任何帮助将不胜感激。
答案 0 :(得分:1)
我在评论中重复了MC ND给出的正确答案,以便将此问题从已回答的问题列表中删除。
命令行中的第一个错误
"C:\Program Files\WinRAR\WinRAR" a -Rar -m5 -ed -pTest -r -ep3 C:\Backup\Backup.rar @list.txt
未指定具有完整路径的列表文件,导致在执行作为计划作业时在当前工作目录中找不到列表文件。
命令行上的第二个小错误是-Rar
,因为这没有任何意义。强制创建RAR存档的开关是-afrar
所以正确的命令行是:
"C:\Program Files\WinRAR\WinRAR.exe" a -afrar -m5 -ed -pTest -r -ep3 C:\Backup\Backup.rar "@Full Path To\File\list.txt"
计划批处理作业最好使用 WinRAR 的控制台版本:
"C:\Program Files\WinRAR\Rar.exe" a -m5 -ed -inul -pTest -r -ep3 -y C:\Backup\Backup.rar "@Full Path To\File\list.txt"
由于控制台版-afrar
仅支持RAR存档格式,因此无需Rar.exe
。
这些开关在文本文件 Rar.txt 中解释,存储在 WinRAR 的程序文件目录中。
答案 1 :(得分:0)
如果您使用的是类Unix(Linux,OS X等)系统,您甚至可以在运行中生成列表文件:
rar a [whatever -switches you use] output.rar @<(find /where/to/find -type f -name 'wildcard_pattern')
这将找到特定路径中与给定通配符模式匹配的所有文件,将所有找到的路径添加到临时文件(技术上管道到fifo文件),然后将其传递给rar命令,压缩完成后,列表将是自动删除。