Board logo

标题: [文件操作] [已解决]BAT如何对文件夹里的所有子目录当中的全部txt操作? [打印本页]

作者: 非常感谢    时间: 2013-11-2 16:29     标题: [已解决]BAT如何对文件夹里的所有子目录当中的全部txt操作?

下面代码是针对文件夹里的所有txt文件操作。如果要对这个文件夹里的----所有子目录当中的全部txt操作,该如何写呢?谢谢
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  3.     (for /f "usebackq delims=" %%a in ("%%i") do (
  4.          echo,BEGIN:VCARD
  5.          echo,X-SKYPE-PSTNNUMBER:+%%a
  6.          echo,END:VCARD&echo,
  7.      ))>"new_%%i"
  8.      rem move $ "%%i"
  9. )
复制代码

作者: foxJL    时间: 2013-11-2 16:38

你是要包括子目录吧?
dir /b /a-d *.txt 改成 dir /b /s /a-d *.txt
作者: terse    时间: 2013-11-2 16:46

注意加 /S 后的路径
作者: 非常感谢    时间: 2013-11-2 18:57

回复 2# foxJL

执行后如图:
作者: 非常感谢    时间: 2013-11-2 19:05

本帖最后由 非常感谢 于 2013-11-2 19:27 编辑

回复 3# terse


代码是您曾经帮忙写的,可以继续指点一下吗?上面代码中
     rem move $ "%%i" 部分没弄明白,是否有存在的必要?不太明白它的作用,其上半部分看懂了。 我想让当前文件夹下所有txt和所有子目录里全部txt,执行操作。谢谢您。
作者: Batcher    时间: 2013-11-2 19:29

回复 5# 非常感谢


    你把它删掉,再测试一遍。就知道是否有必要存在了。
作者: 非常感谢    时间: 2013-11-2 19:55

回复 6# Batcher
删除与否,数据结果相同。
作者: terse    时间: 2013-11-2 21:59

回复 5# 非常感谢
三楼已经提示你 加/S参数路径问题
>"new_%%i" 这里要变通试 "%%~dpi\new_%%~nxi"
至于 Move $ "%%i" 可以丢了
作者: 非常感谢    时间: 2013-11-3 02:44

回复 8# terse
今天又学到点知识了,谢谢您,趁热打铁,我想追加一个命令,删除本目录和所有子目录里批处理前的所有txt 文件,批处理后的当然保留了,兴趣和好奇是学习批处理的动力。谢谢大家!
作者: 非常感谢    时间: 2013-11-3 03:43

del $ "%%i" 就可以了,,,,呵呵。
作者: 非常感谢    时间: 2013-11-3 04:11

回复 8# terse

本目录和所有子目录里批处理后的所有txt ,对其改扩展名不会了,如要把它们全部改成vcf格式,如何写?
    "%%~dpi\new_%%~nxi.vcf" 这样也行,不够不美观,
作者: terse    时间: 2013-11-3 09:44

"%%~dpi\new_%%~ni.vcf" 这样?




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