标题: [文件操作] [已解决]批处理如何获取给定文件夹子目录中的所有文件? [打印本页]
作者: zhangzhi 时间: 2015-7-29 11:51 标题: [已解决]批处理如何获取给定文件夹子目录中的所有文件?
本帖最后由 zhangzhi 于 2015-8-11 14:26 编辑
请大神帮忙!写个bat读取给定路径文件夹下所有子目录的文件名,并输出到content.txt里
比如给定E:\a
子目录有E:\a\b1\test.txt ; E:\a\test1.txt
我想要的结果是
/test1.txt
/b1/test.txt
搜到有这么写的,但是如何输出到把路径保存到content.txt呢- @echo off setlocal enabledelayedexpansion
- for /r %%i in (*.*) do (
- set s=%%i
- set s=!s:%~dp0=!
- echo !s!)
复制代码
作者: pcl_test 时间: 2015-7-29 12:36
本帖最后由 pcl_test 于 2015-7-29 12:39 编辑
- @echo off
- cd /d "E:\a\"
- >"content.txt" findstr /ms . *.*
- pause
复制代码
作者: flyinnet9 时间: 2015-7-29 13:56
本帖最后由 flyinnet9 于 2015-7-29 14:03 编辑
放到e:\a- @echo off
- setlocal enabledelayedexpansion
- set p=%cd%
- for /f "tokens=1 delims=" %%a in ('dir /s /b /a-d *.*') do (
- set "f=%%a"
- set "f=!f:%p%=!"
- set "f=!f:\=/!"
- echo !f! >>content.txt
- )
复制代码
作者: zhangzhi 时间: 2015-7-29 14:33
非常感谢2楼3楼的回复
试了一下
2楼的好用
3楼的没有获取到路径
如果我想在原来的基础上排除某中文件
比如排除*.meta
这个应该怎么处理
作者: zhangzhi 时间: 2015-7-29 14:37
回复 2# pcl_test
非常感谢
可以读出路径
我想排除其中的*.meta怎么处理呢
作者: pcl_test 时间: 2015-7-29 15:01
本帖最后由 pcl_test 于 2015-7-29 15:25 编辑
回复 5# zhangzhi
改一句- >"content.txt" (findstr /ms . *.*|findstr /iv "\.meta$")
复制代码
作者: zhangzhi 时间: 2015-7-29 15:08
回复 6# pcl_test
我试了
还是不行
还是没有排除掉.meta结尾的文件
作者: pcl_test 时间: 2015-7-29 15:22
回复 7# zhangzhi
6楼已改
作者: zhangzhi 时间: 2015-7-29 15:37
回复 8# pcl_test
.meta排除掉了
非常感谢
不过还有一点点和我说的不一样
/test1.txt
/b1/test.txt
我的最前面有个 /
最好把这个加上
麻烦你了
作者: flyinnet9 时间: 2015-7-29 15:56
为什么我用findstr取不到路径,win8
作者: pcl_test 时间: 2015-7-29 16:02
回复 10# flyinnet9
findstr /ms取得是相对路径,你当前目录都已经在D:\Script\test了
作者: zhangzhi 时间: 2015-7-29 16:05
回复 11# pcl_test
帮看下我9楼说的那个呗
那个好解决吗?
作者: flyinnet9 时间: 2015-7-29 16:06
回复 11# pcl_test
‘吓一跳,还以为我机器有问题
作者: pcl_test 时间: 2015-7-29 16:10
本帖最后由 pcl_test 于 2015-7-29 16:31 编辑
回复 12# zhangzhi - @echo off
- @echo off&setlocal enabledelayedexpansion
- cd /d "E:\a\"
- (for /f "delims=" %%a in ('findstr /ms . *.*^|findstr /iv "\.meta$"') do (
- set str=%%a
- echo;/!str:\=/!))>"content.txt"
- pause
复制代码
作者: zhangzhi 时间: 2015-7-29 16:22
回复 14# pcl_test
实在不好意思
发现个严重问题
/test1.txt
/b1/test.txt
我要的这种类型的/而不是\
你最后回复的那个其它的都正确
就差这个
作者: pcl_test 时间: 2015-7-29 16:32
回复 15# zhangzhi
已改
作者: zhangzhi 时间: 2015-7-29 18:29
回复 14# pcl_test
我要的结果是
/test1.txt
/b1/test.txt
而你那个输出的结果是
\test1.txt
\b1\test.txt
作者: zhangzhi 时间: 2015-7-29 18:33
[以解决]
多谢pcl_test 的耐心帮助
问题得到完美解决!!!
作者: pcl_test 时间: 2015-7-29 18:42
回复 18# zhangzhi
问题得到解决后在顶楼标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |