Board logo

标题: [文本处理] 批处理如何取得文件列表? [打印本页]

作者: lufil    时间: 2011-1-14 14:58     标题: 批处理如何取得文件列表?

比如,D盘下:
文件夹ABC中有文件1.txt、2.doc
文件夹DEF中有文件3.xls、4.bmp
等等还有很多文件及文件夹

如何编写批处理生成一个txt文件,里面有文件路径及名字。不需要单独的文件夹。
如:
D:/ABC/1.txt
D:/ABC/2.doc
D:/DEF/3.xls
D:/DEF/4.bmp
……
这个样子的
作者: hanyeguxing    时间: 2011-1-14 15:18

  1. dir /s/b/a-d d:\>c:\1.txt
复制代码

作者: lufil    时间: 2011-1-14 15:29

谢谢!不过不好意思,路经是bat文件所在根目录,我改成了:
dir /s/b/a-d >>1.txt
然后结果比如:
C:\Documents and Settings\Administrator\Desktop\ABC\1.txt
C:\Documents and Settings\Administrator\Desktop\ABC\2.doc
C:\Documents and Settings\Administrator\Desktop\EFG\3.xls
C:\Documents and Settings\Administrator\Desktop\EFG\4.bmp
但和我要的结果不一致啊。
“\”相反了。
或者,
能否自动把C:\Documents and Settings\Administrator\Desktop\删除
变成
ABC/1.txt
ABC/2.doc
EFG/3.xls
EFG/4.bmp
这个样子的???
作者: hanyeguxing    时间: 2011-1-14 15:40

  1. @echo off&setlocal enabledelayedexpansion
  2. set "r=%userprofile%\Desktop"
  3. (for /f "delims=" %%a in ('dir /s/b/a-d "%r%"') do (
  4. set "a=%%a"
  5. set "a=!a:%r%\=!"
  6. echo !a:\=/!
  7. ))>c:\1.txt
复制代码

作者: lufil    时间: 2011-1-14 15:53

简直是神啊!
非常感谢!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2