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

【练习-025】批处理按要求对文件进行列表

出题目的:
  1、温习dir命令
  2、练习文本对齐的方法
加分原则:
  1 思路新颖基分5分
  2 代码高效基分4分
  3 代码简洁基分3分
  4 代码通用基分2分
  5 无临时文件基分1分
  6 完美代码加15分
题目如下:
  某文件夹下有相同的文件若干,其文件名均是由数字、字母、中文混合而成的(文件名中没有特殊字符和空格),现在已知所有的文件名都在10个字符以内,要求用批处理将所有有的文件名进行列表,列表时要求每四个文件名一排且实现文件名左对齐,如下示例:
刘德华move09       十八日议会msge     公众game事业部    北京2008纪实
.................................
中关村bio计划        2004425事件            winxp技术             中学生bbs

[ 本帖最后由 batman 于 2008-10-1 14:39 编辑 ]
***共同提高***

我的方法一逐字符法(效率上有问题)

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%a in ('dir /b test') do (
  3.     set "str=%%~na               "&set /a n+=1,m=n%%4
  4.     set "a=!str!"&call :lp
  5.     if !m! equ 0 echo.
  6. )
  7. pause>nul&goto :eof
  8. :lp
  9. if "%a:~,1%" gtr "z" set /a v+=1
  10. set "a=%a:~1%"
  11. if defined a goto lp
  12. set /a num=15-v
  13. set /p=!str:~,%num%!<nul&set "v=0"
复制代码

[ 本帖最后由 batman 于 2008-10-1 17:23 编辑 ]
***共同提高***

TOP

返回列表