找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17109|回复: 0

[文件操作] [分享]gawk以tree/f的输出结果为依据重建文件结构

[复制链接]
发表于 2022-12-15 19:53:11 | 显示全部楼层 |阅读模式
本组合脚本将tree/f的输出结果以重建文件夹及空文件的形式重建整个文件结构


  1. BEGIN {
  2.         Dir_No = 0
  3.         Dir = "."
  4.         Cha_pos = 0
  5.         Dir_FCP = 0
  6. }
  7. /^[│├└ ]+[^│├└ ].*$/ {
  8.         if ($0 ~ /^.*[├└]/) {
  9.                 Cha_pos = match($0, /[├└]/)
  10.                 if (Cha_pos > Dir_FCP) {
  11.                         Dir_No++
  12.                         No_pos[Cha_pos] = Dir_No
  13.                 }
  14.                 if (Cha_pos < Dir_FCP) {
  15.                         Dir_No = No_pos[Cha_pos]
  16.                 }
  17.                 Dir_FCP = Cha_pos
  18.                 Folder[Dir_No] = gensub(/^.*[├└]─(.+)$/, "\\1", "g", $0)
  19.                 Dir = "."
  20.                 for (i = 1; i <= Dir_No; i++) {
  21.                         Dir = Dir "\" Folder[i]
  22.                 }
  23.                 print "mkdir "" Dir "">nul 2>&1"
  24.         } else {
  25.                 file_name = Dir "\" (gensub(/^([│ ]+)([^│ ].*)$/, "\\2", "g", $0))
  26.                 print "echo;2>"" file_name """
  27.         }
  28. }
复制代码
以ANSI编码格式保存为tree.awk


  1. gawk -f.\tree.awk tree.txt|cmd.exe
复制代码
以ANSI编码格式保存为tree.bat

在命令行窗口执行:

  1. tree /f>tree.txt
复制代码
以获取tree.txt

下载gawk(http://bcn.bathome.net/tool/4.1.0/gawk.exe

将gawk.exe、tree.awk、tree.txt、tree.bat复制到欲重建文件结构的子文件夹(如D:\test),双击tree.bat执行后即可重建整个文件结构(注:重建后所有的文件均为空文件)

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 感谢分享

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 07:54 , Processed in 0.017849 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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