
[分享]gawk以tree/f的輸出結(jié)果為依據(jù)重建文件結(jié)構(gòu)本組合腳本將tree/f的輸出結(jié)果以重建文件夾及空文件的形式重建整個(gè)文件結(jié)構(gòu)將
以ANSI編碼格式保存為tree.awk將nclick="copycode($('code0'));">復(fù)制代碼
- BEGIN {
- Dir_No = 0
- Dir = .
- Cha_pos = 0
- Dir_FCP = 0
- }
- /^[│├└ ]+[^│├└ ].*$/ {
- if ($0 ~ /^.*[├└]/) {
- Cha_pos = match($0, /[├└]/)
- if (Cha_pos > Dir_FCP) {
- Dir_No++
- No_pos[Cha_pos] = Dir_No
- }
- if (Cha_pos < Dir_FCP) {
- Dir_No = No_pos[Cha_pos]
- }
- Dir_FCP = Cha_pos
- Folder[Dir_No] = gensub(/^.*[├└]─(.+)$/, 1, g, $0)
- Dir = .
- for (i = 1; i <= Dir_No; i++) {
- Dir = Dir Folder[i]
- }
- print mkdir Dir >nul 2>&1
- } else {
- file_name = Dir (gensub(/^([│ ]+)([^│ ].*)$/, 2, g, $0))
- print echo;2> file_name
- }
- }
以ANSI編碼格式保存為tree.bat在命令行窗口執(zhí)行:nclick="copycode($('code1'));">復(fù)制代碼
- gawk -f.tree.awk tree.txt|cmd.exe
以獲取tree.txt下載gawk(http://bcn.bathome.net/tool/4.1.0/gawk.exe)將gawk.exe、tree.awk、tree.txt、tree.bat復(fù)制到欲重建文件結(jié)構(gòu)的子文件夾(如D:test),雙擊tree.bat執(zhí)行后即可重建整個(gè)文件結(jié)構(gòu)(注:重建后所有的文件均為空文件)nclick="copycode($('code2'));">復(fù)制代碼
- tree /f>tree.txt

