2

我正在尝试制作一个简单的批处理脚本,但它一直失败。我想在目录(基本路径)中查找每个文件并将每个文件放在单独的 rar 存档中。

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

如果我使用“%%i.rar”,它会创建两个不同的档案,但是文件命名完全错误:fe: 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

有人可以帮我吗?

4

1 回答 1

1

我找到了如何做到这一点,实际上是一个简单的解决方案。

FOR %%i IN (%basepath%\*.*) DO (
  rar a -ep1 -t -m0 c\test\%%~ni.rar %%i
)
于 2011-01-19T20:01:33.703 回答