Board logo

标题: [文件操作] [已解决]批处理怎样在不同的文件夹里面获取文件名列表? [打印本页]

作者: wucnu    时间: 2012-3-9 19:41     标题: [已解决]批处理怎样在不同的文件夹里面获取文件名列表?

如文件夹A里有好多个子文件夹,子文件夹里又有好多图片,我怎么样设置一个批处理把这个文件夹里的所有文件名都放在文本文件里,而这个批处理又可以对文件夹B,C,D同样抽出文件名呢
作者: terse    时间: 2012-3-9 19:53

表述不清 说明 文件夹 ABCD 位置的 相互关系 先来个直接 dir
  1. dir /b /a-d "a\">dir.txt
复制代码

作者: wucnu    时间: 2012-3-9 20:04

回复 2# terse


    不好意思啊,这个代码也就是说是不是只能读取A文件夹里的所有文件夹名与文件名,我的意思是比如,我提取文件夹里的路径时在DOS窗口里输入 CD 这个文件夹的路径名  回车 再输入DIR /B /S *.* >LIST.TXT  
问题是怎么样写个代码代替这个文件夹的路径名 ,然后可以在不同的文件夹里操作同样的事情呢
作者: find    时间: 2012-3-9 21:16

  1. @echo off
  2. dir /b "%~dp0" | findstr /v "%0" >a.txt
复制代码

作者: wucnu    时间: 2012-3-9 22:01

回复 4# find


    谢谢你啊,不过刚才测试了一下,生成A.TXT文件里面什么都没有啊
作者: terse    时间: 2012-3-9 22:55

回复 5# wucnu
可用 pushd 和 popd 命令试 或者 CD  /d   然后 DIR 好了     这里需注意保存文件列表的 文本的路径
作者: wucnu    时间: 2012-3-9 23:07

回复 6# terse


    对不起啊,不是挺明白,不过上一楼的dir /b "%~dp0" | findstr /v "%0" >a.txt  这个代码生成文本文件后会是没内容,是代码有错吗/
作者: find    时间: 2012-3-9 23:12

回复 5# wucnu
  1. @echo on
  2. dir /b "%~dp0" | findstr /v "%0"
  3. pause
复制代码
结果贴出来看看
作者: wucnu    时间: 2012-3-9 23:17

回复 8# find


    结果是出来了,不过是在DOS窗口中生成,而且只生成文件名,也许是我表达有错,我想可以生成一个文本文件,而且里面的内容是文件的全路径名
作者: find    时间: 2012-3-9 23:25

回复 9# wucnu
  1. @echo on
  2. dir /s /b "%~dp0" | findstr /v "%0" >a.txt
  3. start a.txt
  4. pause
复制代码

作者: wucnu    时间: 2012-3-9 23:33

回复 10# find


    万分感谢啊~~~
作者: honmung    时间: 2012-4-7 15:44

回复 10# find


    如果批处理所在文件夹名中包含空格的话会出错
作者: find    时间: 2012-4-7 21:11

回复 12# honmung


会出什么错?
作者: honmung    时间: 2012-4-9 11:10

回复 13# find


    获取不了包含空格文件名的文件夹内的文件名




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