zoukankan      html  css  js  c++  java
  • 【转】目录和文件名遍历输出 批处理 batch

    TREE 只能输出目录结构,楼主想要的是 文件也一起输出
    有现成的命令啊

    TREE [drive:][path] [/F] [/A]
       /F   显示每个文件夹中文件的名称。
      /A   使用 ASCII 字符,而不使用扩展字符。
    --------------

    加上参数 /F 就可以连文件一起输出了,忘记了

    C:\>TREE D:\DEC_KITCHEN\SYS /F>LIST.TXT

    LIST.TXT 生成在C:\LIST.TXT

    很多时候想要把一个文件夹下面的所有目录和文件名遍历一遍输出来。这样可以很直接明白的展示一下文件夹的结构。
    就比如如何去除老三样,如何精简核心文件,按之前的教程:要么都是直接给出一个精简BAT处理。此法只是授人与鱼而已。解出BAT也不一定完全理解原作者意图。
    要么有些人就这么写教程:
    删除某某目录下某某名字文件。此法累死人啊。写的人累。而且有时候还会漏掉某些东西。

    如果有了这样一个批处理,上面的问题就简单了。直接拖动某个文件夹就能遍历所有文件夹下的所有文件,并按照文件夹结构输出到一个TXT中。再用beyondcompare比较一下,就可以很简单的显示整个文件下所有文件的名称了。而且有助于大家交流自己的成果。


    我现在找到的这个BAT。拖动桌面的某个文件夹。结果却把整个桌面的所有文件夹的文件名遍历出来了。不知道能不能改成我上面说的那样。拖动哪个文件夹就遍历哪个文件夹啊?高人出来指点啊。

    :: VisitI.bat - 对指定路径指定DIR信息的文件进行遍历操作的的程序
    :: 第一参数为指定的DIR信息项,第二参数为要遍历的路径(缺省为当前路径)
    :: 注意:DIR信息项可以是文件名,扩展名,日期,时间等DIR命令提供的目录信息项
    :: 可以同时使用多项,但必须加一对引号,参数格式也须严格符合DIR的信息格式
    @echo off

    :main
    if [%1]==[] goto end

    :init
    if exist filelist.txt if exist xset.asd goto loop
    set info=%1
    set base=%2
    if [%2]==[] set base=.
    dir %base%\. /s /a /b > filelist.txt
    echo e 100 ''''set file='''' > xset.asd
    echo w >> xset.asd
    echo q >> xset.asd

    :loop
    fc filelist.txt nul /n | find " 1:" > setfile.bat
    if errorlevel 1 goto restore
    debug setfile.bat nul
    call setfile.bat
    dir "%file%" | find %info% > nul
    if not errorlevel 1 echo Visit file: "%file%"
    :: if not errorlevel 1
    find "%file%" /v filelist.tx2
    :: "%file%" 参数决定了所匹配的子目录下的所有文件和目录均不会再次匹配
    copy filelist.tx2 filelist.txt > nul
    goto loop

    :restore
    if exist filelist.txt del filelist.txt
    if exist xset.asd del xset.asd
    if exist filelist.tx2 del filelist.tx2
    if exist setfile.bat del setfile.bat
    set info=
    set file=
    set base=

    :end
    pause复制代码


    这是这个BAT的处理结果。
    这是bat


    不用BAT了,谢谢下面那楼的朋友。不过不能显示无后缀名的文件。很遗憾。同学帮我编了一个程序可以实现我说的功能。识货的可以拿去用。
    自己写个批处理不就好了?好人做到底,帮你写了



    支持拖放与鼠标右键“发送到”(自己创建快捷方式到sendto)

    list.txt文本生成在 脚本所在的目录

    @ECHO OFF
    TITLE 创建文本目录树_By_炮炮@ppps.cn
    COLOR 1F
    MODE CON: COLS=80 LINES=20
    CLS
    IF "%~1"=="" GOTO _Usage
    set path_arg=%~d1%~p1
    CLS
    ECHO.
    ECHO.     =================  创建文本目录树_By_炮炮@ppps.cn  ===================
    ECHO.     =                                                                    =
    ECHO.     =   正在生成"%~1"的文本目录树...         =
    ECHO.     =                                                                    =
    ECHO.     ======================================================================
    ECHO.
    DEL /F/Q "%path_arg%LIST.TXT"
    TREE "%~1" /F > "%path_arg%LIST.TXT"
    CLS
    ECHO.
    ECHO.     =================  创建文本目录树_By_炮炮@ppps.cn  ===================
    ECHO.     =                                                                    =
    ECHO.     =   已经生成"%~1"的文本目录树...
    ECHO.     =                                                                    =
    ECHO.     =   目录树列表文本:%path_arg%LIST.TXT
    ECHO.     =                                                                    =
    ECHO.     ======================================================================
    ECHO.
    GOTO _Exit

    :_Usage
    CLS
    ECHO.
    ECHO.     ==================  创建文本目录树_By_炮炮@ppps.cn  ==================
    ECHO.     =                                                                    =
    ECHO.     =   抱歉!你的用法不对!                                             =
    ECHO.     =                                                                    =
    ECHO.     =   用法: 请使用拖放或“发送到”本批处理!                           =
    ECHO.     =                                                                    =
    ECHO.     ======================================================================
    ECHO.

    :_Exit
    ECHO.
    PAUSE复制代码
  • 相关阅读:
    对计算机科学与技术专业的认识及未来的规划
    秋季学期学习总结
    自我介绍
    Leetcode每日一题 83. 删除排序链表中的重复元素
    Leetcode每日一题 82. 删除排序链表中的重复元素 II
    Leetcode每日一题 456.132 模式
    Leetcode每日一题 341. 扁平化嵌套列表迭代器
    Leetcode每日一题 191. 位1的个数
    Leetcode每日一题 73. 矩阵置零
    Leetcode每日一题 150. 逆波兰表达式求值
  • 原文地址:https://www.cnblogs.com/ae6623/p/4416776.html
Copyright © 2011-2022 走看看