Page 1 of 1

How to get a list of sub folder

Posted: 16 Sep 2018, 21:47
by songdg
I want to use FileSelectFolder to choose a folder and get all the subfolders under it.For example I choose the folder "E:\date" and get a path list ["E:\date\0820\", "E:\date\0821\", "E:\date\0822\"].

Re: How to get a list of sub folder

Posted: 17 Sep 2018, 02:50
by divanebaba
Hi.
As I know, there is following command for your desired task.

Code: Select all

Loop, Files, FilePattern, Mode
With FileSelectFolder you should be able to choose desired directory (FilePattern).

Re: How to get a list of sub folder  Topic is solved

Posted: 17 Sep 2018, 03:58
by garry
yes, example with loop,files ..

Code: Select all

;["E:\date\0820\", "E:\date\0821\", "E:\date\0822\"]
;--------------------------------------------------------
;preselect=C:\                                           ;- drive C
;preselect= ::{20d04fe0-3aea-1069-a2d8-08002b30309d}     ;- workplace all drives
PRESELECT  =%a_desktop%         ;- search from here
FileSelectFolder,MF,%PRESELECT%
if MF=
  return
transform,s,chr,34 
transform,c,chr,44 
Loop, Files,%mf%\*.*, DR
  {
  x := a_loopfiledir . "\" . A_LoopFileName
  e1 .= x . "`r`n"                   ;- example-1
  e2 .= s . x . s . c . a_space      ;- example-2
  }
stringtrimright,e2,e2,2  
msgbox,%e1%  
f1=test55.txt
ifexist,%f1%
  filedelete,%f1%
fileappend,[%e2%],%f1%
run,%f1%

ExitApp
esc::exitapp

Re: How to get a list of sub folder

Posted: 18 Sep 2018, 22:11
by songdg
divanebaba wrote:Hi.
As I know, there is following command for your desired task.

Code: Select all

Loop, Files, FilePattern, Mode
With FileSelectFolder you should be able to choose desired directory (FilePattern).
Thanks for your direction.

Re: How to get a list of sub folder

Posted: 18 Sep 2018, 22:11
by songdg
garry wrote:yes, example with loop,files ..

Code: Select all

;["E:\date\0820\", "E:\date\0821\", "E:\date\0822\"]
;--------------------------------------------------------
;preselect=C:\                                           ;- drive C
;preselect= ::{20d04fe0-3aea-1069-a2d8-08002b30309d}     ;- workplace all drives
PRESELECT  =%a_desktop%         ;- search from here
FileSelectFolder,MF,%PRESELECT%
if MF=
  return
transform,s,chr,34 
transform,c,chr,44 
Loop, Files,%mf%\*.*, DR
  {
  x := a_loopfiledir . "\" . A_LoopFileName
  e1 .= x . "`r`n"                   ;- example-1
  e2 .= s . x . s . c . a_space      ;- example-2
  }
stringtrimright,e2,e2,2  
msgbox,%e1%  
f1=test55.txt
ifexist,%f1%
  filedelete,%f1%
fileappend,[%e2%],%f1%
run,%f1%

ExitApp
esc::exitapp
Thanks for your help!