Hello
I need to parse a folder to find subfolder.
I try to use FindFirst function but nothing is done. Maybe it's only for files.
Could you help me please ?
How to parse folder to find folder
7 posts
FindFirst and FindNext will return folder names as well.
For recursive searching, use RecFind (on wiki) or Locate (in docs)
Stu
For recursive searching, use RecFind (on wiki) or Locate (in docs)
Stu
I don't need to use a recursive function because I have to parse only one folder not its sons.
You say that FindFirst can work but in my script it doesn't.
Here my code :
ReadRegStr $2 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Local AppData"
WriteINIStr "$INSTDIR\MyIni.ini" "COMMON" "Doc" $2
FindFirst $0 $1 "$2\"
WriteINIStr "$INSTDIR\MyIni.ini" "COMMON" "Sec" $1
Where is the matter ?
You say that FindFirst can work but in my script it doesn't.
Here my code :
ReadRegStr $2 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Local AppData"
WriteINIStr "$INSTDIR\MyIni.ini" "COMMON" "Doc" $2
FindFirst $0 $1 "$2\"
WriteINIStr "$INSTDIR\MyIni.ini" "COMMON" "Sec" $1
Where is the matter ?
You probably need wildcards there:
FindFirst $0 $1 "$2\*"
Also, add FindClose $0.
Stu
FindFirst $0 $1 "$2\*"
Also, add FindClose $0.
Stu
Well, I try your doce, and it doesn't find any subfolder.
It returns me "."
I think
FindFirst $0 $1 "$2\*"
doesn't work
It returns me "."
I think
FindFirst $0 $1 "$2\*"
doesn't work
FindFirst works and FindNext works too, you may want to check out the documentation, and search the forum as well.
"." and ".." are two special folders listed in almost every folder. The first, ".", is the same as the current folder so "C:\blah" is actually the same as "C:\blah\.". The second is the parent folder, so "C:\blah\.." is the same as "C:\".
Simply use FindNext until you get to a real folder or file name and skip those two.
Simply use FindNext until you get to a real folder or file name and skip those two.