[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 15# Perl

    人比较笨没办法!~
    你学得蛮细的嘛~!我习惯了这种传统的做工,所以没法去了解dir>txt这样也得,佩服兄了!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

不知道这个18在这里是随机的还是固定的
  1. @echo off&setlocal enabledelayedexpansion
  2. set M=18
  3. for /f "delims=" %%i in ('dir /b /a-d *.*') do (
  4.     set /a Num=N/M,D=N%%M,N+=1
  5.     if !D! EQU 0 MD "New_!Num!" 2>NUL
  6.     copy "%%i"  "New_!Num!" >NUL
  7. )
  8. pause
复制代码

TOP

回复 13# cjiabing


    他那个for好像会把批处理也复制进去吧……
filetest>dir *.bat  /s /b
filetest\fo.bat
filetest\test.bat
filetest\test2.bat
filetest\MyFolder_21\fo.bat
filetest\MyFolder_21\test.bat
filetest\MyFolder_21\test2.bat

jiabing的文件列表选在了文本里,避开了这个问题。

TOP

回复  cjiabing


    他那个for好像会把批处理也复制进去吧……
filetest>dir *.bat  /s /b
filetes ...
523066680 发表于 2012-2-24 19:55

看前面代码 应该没避开哦
本应添加 IF "%%i" neq "%~nx0" 的  即可

TOP

本帖最后由 523066680 于 2012-2-24 20:35 编辑

回复 19# terse


恩,也可以  dir 的时候 ^|find /v "%~nx0"
还可以选择把批处理放在文件夹外部~  不过,还是看楼主具体要求了。也许批处理本身进去也无所谓

今晚真热闹


也写了,不见得好
  1. @echo off &setlocal enabledelayedexpansion
  2. set /a n=18,folder=0
  3. for /f "tokens=*" %%a in ('dir /b /a-d * ^|find /v "%~nx0"') do (
  4. if !n! lss 18 (
  5. set /a n+=1
  6. ) else (
  7. set /a n=1,folder+=1
  8. md fold_!folder!
  9. )
  10. copy "%%a" fold_!folder!\
  11. )
  12. pause
复制代码

TOP

回复 20# 523066680


    看官,那是昨晚的事情了!~
    昨晚的代码比较潦草些,现在修改完善如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. ::文件分类管理:按每18个文件装进一个文件夹整理。
  3. echo;&echo;    开始整理……&echo;
  4. set newf=0
  5. set numf=0
  6. set conf=0
  7. if not exist New!newf! md New!newf!
  8. for /f "tokens=*" %%a in ('dir /b /a-d') do (
  9.     if !numf! geq 18 set numf=0&set /a newf+=1&md New!newf!
  10.     if not "%%~na"=="%~n0" copy "%%~a" New!newf!&set /a numf+=1
  11.     set /a conf=!newf!*18+!numf!
  12. )
  13. echo;&echo;    整理完成,共 !conf! 个文件,请注意检查!&pause>nul
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表