批处理编程:通过 cli 进行 rar,将多个文件 RAR 分别放在自己的存档中
我正在尝试制作一个简单的批处理脚本,但它一直失败。我想查找目录(基本路径)中的每个文件并将每个文件放入单独的 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
有人可以帮助我吗?
I'm trying to make a simple batch script but it keeps failing. I want to look for each file in a directory (basepath) and put each file in a separate rar archive.
If I use "%%~ni.rar" in the rar line, he puts all files in all archives. SO for n files i get n archives with in each archive the n files. [also he doesnt seem to put the archives in [c:\test*.*] but rather puts them in the location of the batch file.
If I use "%%i.rar" it creates two different archives, but then the filenaming is totaly wrong: f.e: testfile.jpg >> testfile.jpg.rar and thats not how i would like it (testfile.rar instead)
@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
can someone help me out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到了如何做到这一点,实际上是一个简单的解决方案。
I found how to do it, actually an easy solution.