批处理编程:rar by cli,获取多个文件,每个文件都在自己的存档中

时间:2011-01-16 22:21:37

标签: batch-file archive command-line-interface rar

我正在尝试创建一个简单的批处理脚本但它仍然失败。我想在目录(basepath)中查找每个文件,并将每个文件放在一个单独的rar存档中。

如果我在rar行中使用“%% ~ni.rar”,他会将所有文件放在所有档案中。对于n个文件,我得到n个档案,每个档案中有n个档案。 [他似乎也没有将档案放在[c:\ test *。*]中,而是将它们放在批处理文件的位置。

如果我使用“%% i.rar”,它会创建两个不同的档案,但是文件管理完全错误:f.e:testfile.jpg>> testfile.jpg.rar和那不是我想要的(testfile.rar而不是)

@ECHO OFF
CLS

SET BASEPATH=c:\test
SET RARExe=c:\PROGRA~1\WinRAR\RAR.EXE

FOR %%i IN (%basepath%\*.*) DO %RARExe% a -m0 "%%~ni.rar" c:\test\*.*
FOR %%i IN (%basepath%\) DO mkdir c:\test\%%~ni

Goto :eof

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

我找到了怎么做,实际上是一个简单的解决方案。

FOR %%i IN (%basepath%\*.*) DO (
  rar a -ep1 -t -m0 c\test\%%~ni.rar %%i
)