|
Title | SubDirList |
File Name | SubDirList.txt |
Description | List all subdirectories of the current path |
Author | Vochomurka |
Parameters |
"%P%N" "v"|"f"|"b" (see Comments) |
Plugins Called | file, vec, osd |
Icon | |
Version | 1.2 |
Updated on | 30.08.2006 |
args Path local List = file.listfiles(Path, 2) local Counter = line(List, 0) local Temp, j, One, Pos = 0 if(not Counter) quit(0) v = vec.create(1, 1) if(v <= 0) do messagebox("ok error", "Vector not created", "VEC plugin error") quit(0) endif for(j = 1; j <= Counter; j++) One = line(List, j) if(file.isfolder(One)) do v[Pos] = One Pos++ endif endfor if(not Pos) quit(0) Pos = 0 for(1) Temp = Pos ++ " / " ++ vec.length(v) osd.show(Temp, "INFINITE", "30", "Arial", "-1", "255 000 000") List = file.listfiles(v[Pos], 2) Counter = line(List, 0) if(not Counter) do Pos++ if(Pos >= vec.length(v)) break else for(j = 1; j <= Counter; j++) One = line(List, j) if(file.isfolder(One)) v[vec.length(v)] = One endfor Pos++ if(Pos >= vec.length(v)) break endif endfor osd.hide() vec.sort(v) Counter = vec.capacity(v) if(arg(2) == "v") quit(Counter) local Hand = file.open(Path ++ "\_subdirs.lst", "w") if(Hand <= 0) do messagebox("ok error", "File not opened", "FILE plugin error") quit endif for(j = 0; j < Counter; j++) file.writeline(Hand, v[j]) endfor if(arg(2) == "f") vec.destroy(v) file.close(Hand) quit(Counter)
The script creates the list of all subdirectories in the current path and below. Second parameter defines how to store the list:
If second parameter is "v", then it should be used at calling the SubDirList script from another one, for example:
VecSize = runfile.SubDirList("d:\Winnt\", "v")
So in the calling script the v vector with the VecSize size would be defined. This vector contains all the d:\Winnt child subdirectories sorted alphabetically.
At running the script with "f" or "b" parameter in the current directory the _subdirs.lst file with the same list is created.
All Scripts | Total Commander | TotalCmd.net | PowerPro |