Winrar批处理从list.txt压缩文件夹导致Windows任务计划程序错误

时间:2014-04-11 06:16:21

标签: windows batch-file cmd scheduled-tasks winrar

我进行了以下批处理以压缩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"< =也试过这个,但它也会出现同样的错误。

任何帮助将不胜感激。

2 个答案:

答案 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命令,压缩完成后,列表将是自动删除。