Board logo

标题: [文本处理] [已解决]批处理如何在多个子目录下,搜索以下文件夹,文件夹中新建相应的TXT内容? [打印本页]

作者: 228630386    时间: 2015-4-15 18:35     标题: [已解决]批处理如何在多个子目录下,搜索以下文件夹,文件夹中新建相应的TXT内容?

本帖最后由 228630386 于 2015-4-15 20:56 编辑

如何在多个子目录下,搜索以下文件夹,文件夹中新建相应的TXT内容?
2142010050010
2142010050010
2142010050010
2142010050010
2142010050411

就是搜索这些相应的文件夹中新建后面TXT内容。
2142010050010        女款衬衫-无袖衬衫
2142010050010        女款衬衫-无袖衬衫
2142010050010        女款衬衫-无袖衬衫
2142010050010        女款衬衫-无袖衬衫
2142010050411        女款衬衫-无袖衬衫
作者: pcl_test    时间: 2015-4-15 18:49

回复 1# 228630386
这文字说明,让语文老师又要躺枪了
作者: 228630386    时间: 2015-4-15 18:53

回复 2# pcl_test


    亲,不好意思,语言能力表达得不太好,你应该懂的。呵呵。。。
作者: pcl_test    时间: 2015-4-15 19:24

你这代码从哪里弄来的?原问题是怎样的?文件夹结构是怎样的?最好还是把原本问题说下,这样没有来头的改代码,比重新编写代码更头疼
作者: 228630386    时间: 2015-4-15 19:39

回复 4# pcl_test


    我改了一下,这应该比较明白和简单一点了。
作者: pcl_test    时间: 2015-4-15 20:11

本帖最后由 pcl_test 于 2015-4-15 20:13 编辑
  1. @echo off 2>nul 3>nul
  2. for /f "tokens=1*" %%a in ('more +8 %0') do (
  3. for /r /d %%i in (*) do (
  4. if "%%~ni" equ "%%a" cd.>"%%i\%%b.txt"
  5. )
  6. )
  7. echo 完成!2秒后自动关闭
  8. ping 0 -n 3 >nul
  9. 2142010050010        女款衬衫-无袖衬衫
  10. 2142010050010        女款衬衫-无袖衬衫
  11. 2142010050010        女款衬衫-无袖衬衫
  12. 2142010050010        女款衬衫-无袖衬衫
  13. 2142010050411        女款衬衫-无袖衬衫
复制代码

作者: 228630386    时间: 2015-4-15 20:15

回复 4# pcl_test


    亲,这个能解决么?
作者: pcl_test    时间: 2015-4-15 20:17

按你问题描述就是这样滴,所以能不能解决取决于你的表达能力了
作者: 228630386    时间: 2015-4-15 20:25

回复 8# pcl_test


    亲,可以了,非常感谢你,帮了我一个大忙。
作者: gawk    时间: 2015-4-15 20:31

  1. @echo off
  2. for /r /d %%i in (*) do (
  3.     for %%j in (2142010050010 2142010050010 2142010050010 2142010050010 2142010050411) (
  4.         if "%%~ni" equ "%%j" (
  5.             cd.>"%%i\女款衬衫-无袖衬衫.txt"
  6.         )
  7.     )
  8. )
复制代码

作者: gawk    时间: 2015-4-15 20:32

回复 6# pcl_test


    for /r /d 放在外层可能有助于提高执行效率
作者: CrLf    时间: 2015-4-15 21:04

回复 11# gawk


    Are you sure?
作者: gawk    时间: 2015-4-15 21:20

回复 12# CrLf


    瞎猜的
作者: pcl_test    时间: 2015-4-16 11:29

回复 11# gawk

假设要处理10个文件夹项, for /r /d 放在外层需遍历10次目录+读取10次文件夹项,如果在里层,那么只需遍历10次目录+读取1次文件夹项
作者: ww0000    时间: 2015-4-16 16:30

回复 6# pcl_test


    老师,能否搞个,对同目录下的所有文件夹,生成文件名的?
作者: pcl_test    时间: 2015-4-16 17:14

本帖最后由 pcl_test 于 2015-4-16 21:11 编辑

回复 15# ww0000
  1. @echo off
  2. for /d %%a in (*) do (
  3. pushd "%%a"
  4. for /f "delims=" %%b in ('dir /a-d /b') do >>"%%a.txt" echo,%%~nb
  5. popd
  6. )
  7. pause
复制代码

作者: ww0000    时间: 2015-4-16 19:45

回复 16# pcl_test


    谢谢老师,我想要的是,生成的每个文本里面是每个文件夹中文件的文件名。
作者: ww0000    时间: 2015-4-16 21:35

回复 16# pcl_test


    老师,还是不成功!
作者: pcl_test    时间: 2015-4-16 21:36

回复 18# ww0000

妥妥的
作者: ww0000    时间: 2015-4-16 21:46

回复 16# pcl_test

真不行呀,我的文件夹与执行文件在同一目录
作者: pcl_test    时间: 2015-4-16 22:14

回复 20# ww0000

测试妥妥的,应该是你自己的问题
作者: ww0000    时间: 2015-4-17 08:15

回复 16# pcl_test


    可以现实,但是能否将目录文件放到与执行文件同一目录?
再一个是否能现实历遍子文件夹?
谢谢
作者: pcl_test    时间: 2015-4-17 08:55

本帖最后由 pcl_test 于 2015-4-17 09:02 编辑

回复 22# ww0000
  1. @echo off
  2. (for /r /d %%a in (*) do (
  3. pushd "%%a"
  4. echo,●文件夹【%%a】
  5. for /f "delims=" %%b in ('dir /a-d /b 2^>nul') do echo,%%~nb
  6. popd
  7. ))>"文件列表.txt"
  8. pause
复制代码

作者: ww0000    时间: 2015-4-17 11:31

回复 23# pcl_test


    谢谢老师的帮助!!!




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