查看: 1152|回复: 1
收起左侧

[分享] 生成文件夹及子目录下的所有文件清单(文件目录树)

[复制链接]
efafea
头像被屏蔽
发表于 2021-6-8 17:59:52 | 显示全部楼层 |阅读模式
本帖最后由 efafea 于 2021-6-8 18:01 编辑
  1. :将以下代码复制到txt文档中,将txt后缀改成bat,然后双击运行就可以去除文件名中的空格同时生成文件目录
  2. @echo off
  3. color f2
  4. echo 我可以将【文件夹】目录及子目录[去除文件名空格]整理到-目录表格.xls



  5. pause
  6. :--------------------------------------
  7. set str1=9734
  8. set str2=9077
  9. set str3=0
  10. set str4=%str1%%str2%%str3%@
  11. :--------------------------------------
  12. setlocal enabledelayedexpansion
  13. :--------------------------------------
  14. :更改这两个参数可以将文件名的指定字符替换成想要的字符
  15. :被替换的字符,例如空格" ";或者其他字符,写到=后边;
  16. set y=
  17. :替换后的字符--例如将文件名中的空格" ",替换成空字符"",或者下划线"_"
  18. set z=""
  19. :--------------------------------------
  20. :--------------------------------------
  21. :----------------------------------------------------------------------------
  22. set f2=0
  23. set f3=0
  24. set f4=1
  25. set f5=0

  26. set /p f2=生成文件夹目录.xls--------------【1(是)/0(否)】【默认:0(否)】
  27. set /p f3=生成所有文件夹及文件目录.xls----【1(是)/0(否)】【默认:0(否)】
  28. set /p f4=生成文件夹目录树.xls------------【1(是)/0(否)】【默认:1(是)】
  29. set /p f5=生成所有文件夹及文件目录树.xls--【1(是)/0(否)】【默认:0(否)】
  30. :----------------------------------------------------------------------------
  31. :----------------------------------------------------------------------------
  32. :j1
  33. set f1=1
  34. set /p f1=是否去除所有文件名中的空格【1(否)/2(是)】/默认【1/否】
  35. if %f1%==1 (
  36. goto rem1
  37. ) else (
  38. if %f1%==2 (
  39. goto rem2
  40. ) else (
  41. goto j1
  42. )
  43. )

  44. :rem2

  45. for /f "tokens=*" %%j in ('dir/b') do (
  46. set fn=%%j
  47. echo 替换前:!fn!
  48. set fn=!fn:%y%=%z%!
  49. echo 替换后:!fn!
  50. :将fn字符串中的每一个空格(" ")替换成空字符("")。
  51. ren "%%j" !fn!
  52. )
  53. :--------------------------------------
  54. set pp=%~dp0
  55. echo %pp%
  56. :--------------------------------------
  57. for /d /r . %%i in (*) do (

  58. :更新路径,将有空格的路径改为除去空格后的路径,才能进入
  59. for /f "tokens=*" %%l in (!i!) do (
  60. set pt=%%l
  61. set pt=!pt:%y%=%z%!
  62. set i=!pt!
  63. )
  64. echo 路径 %%i
  65. cd %%i
  66. :-------------------
  67. for /f "tokens=*" %%j in ('dir/b') do (
  68. set fn=%%j
  69. echo 替换前:!fn!
  70. set fn=!fn:%y%=%z%!
  71. echo 替换后:!fn!
  72. :将fn字符串中的每一个“ ”替换成“”空字符。
  73. ren "%%j" !fn!
  74. )
  75. )
  76. :------------------------------------------------------------------------------
  77. :rem1
  78. :--------------------------------------
  79. set dd=%date:~0,4%%date:~5,2%%date:~8,2%
  80. echo %dd%
  81. cd %pp%
  82. echo %pp%
  83. if %f2%==1 (
  84. for /d /r . %%k in (*) do echo %%k>>仅文件夹目录-%dd%.xls
  85. echo 已经生成【仅文件夹目录-%dd%.xls】--包括子文件夹
  86. )
  87. echo --------------------------------------------------------------

  88. if %f3%==1 (
  89. dir /b /s >所有文件目录-%dd%.xls
  90. echo 已经生成【所有文件目录-%dd%.xls】--包括子文件夹
  91. )
  92. echo --------------------------------------------------------------
  93. if %f4%==1 (
  94. tree >工作报告总目录树-%dd%.xls
  95. echo 已经生成【工作报告总目录树-%dd%.xls】--包括子文件夹
  96. )
  97. echo --------------------------------------------------------------
  98. if %f5%==1 (
  99. tree /f >文件夹及文件目录树-%dd%.xls
  100. echo 已经生成【文件夹及文件目录树-%dd%.xls】--包括子文件夹
  101. )
  102. echo --------------------------------------------------------------
  103. pause
复制代码

canghaisui
发表于 2021-6-16 14:16:11 | 显示全部楼层
谢谢楼主分享,好像是乱码
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-23 09:31 , Processed in 0.113150 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表