[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我的 RAR 版本比较老,参数可能与你的不一样。所以 RAR 部分代码你自己改一下。
  1. @echo off
  2. for /f "tokens=1 delims=第集" %%i in ('"dir/o-n/b *.rar 2>nul"') do set/a ji=%%i&goto :outfor
  3. :outfor
  4. set/a ji+=1
  5. setlocal enabledelayedexpansion
  6. set n=-1
  7. for /f "delims=" %%a in ('dir/b *.jpg') do (
  8.  set /a n+=1,m=n%%35
  9.  if !m! equ 0 set /a x+=1
  10.  "%ProgramFiles%\WinRAR\RAR.exe" a -ep -df "第%ji%集!x!.rar" "%%a">nul
  11. )
复制代码

[ 本帖最后由 wxcute 于 2008-12-7 13:45 编辑 ]

TOP

我指的要改的代码是这句
"%ProgramFiles%\WinRAR\RAR.exe" a -ep -df "第%ji%集!x!.rar" "%%a">nul
RAR 的参数部分(红色)
a -ep -df
其他的不用改。
=====================
只要不是进位,如从 99 到 100,就没有问题。

TOP

还是把图片删除罢,我已经看明白了;主要是这个图片太大,我机子卡了。
你可以在顶楼上做相应更改,指明文件名为 “XX第m卷n.rar”(其中m为000-999)(卷和集这两个字是不一样的)
我原来的 delims=第集 中的两个汉字是用来作分隔符的,既然是你杜撰的用的时候就要改成你实际的,否则表述时你就用实际的 “第卷” 而不要杜撰个来用。(你的隐私我不爱了解,只要不是干坏事就行)
一次性表述清楚多好,这样左来右去的既浪费你的精力又浪费我的精力你说是不是!

@echo off
for /f "tokens=1 delims=第集卷" %%i in ('"dir/o-n/b *.rar 2>nul"') do set ji=1%%i&goto utfor
:outfor
set/a ji=ji-1000+1
set num=00%ji%
set num=%num:~-3%
echo %num%
pause
setlocal enabledelayedexpansion
set n=
for /f "delims=" %%a in ('dir/b *.jpg') do (
 set /a n+=1,m=n%%2
 if !m! equ 0 set /a x+=1
 "%ProgramFiles%\WinRAR\RAR.exe" a -ep -df "第%num%卷!x!.rar" "%%a">nul
)

红色部分用来显示 “卷号”,如果正确就可以删除这两行运行了。

[ 本帖最后由 wxcute 于 2008-12-7 15:35 编辑 ]

TOP

卷号确定不了原因可能是我们运行的环境不同造成的。

下面改成手动输入卷号(参阅 set 命令 /p 参数 帮助)
  1. @echo off
  2. set/p num=请输入新卷号:
  3. set num=00%num%
  4. set num=%num:~-3%
  5. setlocal enabledelayedexpansion
  6. set n=-1
  7. for /f "delims=" %%a in ('dir/b *.jpg') do (
  8.  set /a n+=1,m=n%%2
  9.  if !m! equ 0 set /a x+=1
  10.  "%ProgramFiles%\WinRAR\RAR.exe" a -ep -df "第%num%卷!x!.rar" "%%a">nul
  11. )
复制代码
要完完全全用你自己的卷号就去掉第三行与第四行,因为这两行是用来自动在数字前添 0 的。

[ 本帖最后由 wxcute 于 2008-12-7 18:30 编辑 ]

TOP

返回列表