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

[文件操作] [已解决]批处理如何获取给定文件夹子目录中的所有文件?

本帖最后由 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呢
  1. @echo off setlocal enabledelayedexpansion
  2. for /r %%i in (*.*) do (
  3. set s=%%i
  4. set s=!s:%~dp0=!
  5. echo !s!)
复制代码

回复 18# zhangzhi

问题得到解决后在顶楼标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

[以解决]
多谢pcl_test 的耐心帮助
问题得到完美解决!!!

TOP

回复 14# pcl_test


我要的结果是
/test1.txt
/b1/test.txt
而你那个输出的结果是
\test1.txt
\b1\test.txt

TOP

回复 15# zhangzhi

已改

TOP

回复 14# pcl_test


实在不好意思
发现个严重问题
/test1.txt
/b1/test.txt
我要的这种类型的/而不是\
你最后回复的那个其它的都正确
就差这个

TOP

本帖最后由 pcl_test 于 2015-7-29 16:31 编辑

回复 12# zhangzhi
  1. @echo off
  2. @echo off&setlocal enabledelayedexpansion
  3. cd /d "E:\a\"
  4. (for /f "delims=" %%a in ('findstr /ms . *.*^|findstr /iv "\.meta$"') do (
  5.     set str=%%a
  6.     echo;/!str:\=/!))>"content.txt"
  7. pause
复制代码

TOP

回复 11# pcl_test


    ‘吓一跳,还以为我机器有问题

TOP

回复 11# pcl_test

帮看下我9楼说的那个呗
那个好解决吗?

TOP

回复 10# flyinnet9

findstr  /ms取得是相对路径,你当前目录都已经在D:\Script\test了

TOP

为什么我用findstr取不到路径,win8

TOP

回复 8# pcl_test


    .meta排除掉了
非常感谢
不过还有一点点和我说的不一样
/test1.txt
/b1/test.txt
我的最前面有个 /
最好把这个加上
麻烦你了

TOP

回复 7# zhangzhi

6楼已改

TOP

回复 6# pcl_test


    我试了
还是不行
还是没有排除掉.meta结尾的文件

TOP

本帖最后由 pcl_test 于 2015-7-29 15:25 编辑

回复 5# zhangzhi
改一句
  1. >"content.txt" (findstr /ms . *.*|findstr /iv "\.meta$")
复制代码

TOP

返回列表