>>Is there any simpler way to get a real path of a file or folder, even if the path, to start from, contains unfortunately uppercased parts? Filesystem object doesn't even have such a function, it keeps the casing as was passed to it.
>>
>>The one way I know is to use the 3rd parameter to adir(), which means recursively checking each level of the path and then reassembling it. Not that I don't have the time to do it, now I have, and (even worse) I have a strong deja vu, I think I already wrote such a function once but can't remember what I called it...
>>
>>Still, is there a simpler way?
>
>FilesystemObject does not have a function but it has a property
>
>
>local filename, fso, x
>
>filename = upper('D:\tmp\NBB\2021\structure_be-fr-pfs-ci-2021-01-01.pdf')
>
>fso = CreateObject("Scripting.FileSystemObject")
>
>x= m.fso.GetFile(m.filename)
>?m.x.Path
>
>x = m.fso.Getfolder(justpath(m.filename))
>?m.x.Path
>
Nope, tried that first. Assume you have a folder "Q:\Pictures", and try
x = m.fso.Getfolder(justpath("q:\piCTUres"))
x.Path will be q:\piCTUres. Which is exactly what I wanted to avoid. Here's the result of half an hour of fiddling:
Function fPath(tcF)
Function fPath(tcF)
lcEndpath=Addbs(tcF)
lnStart=2
lcFajl=Left(lcEndpath, At("\", lcEndpath, 1))
For i=lnStart To Occurs("\", lcEndpath)
lcPartDir=Left(lcEndpath, At("\", lcEndpath, i)-1)
If Adir(aa, lcPartDir, "DHS",1)=0
lcFajl=""
Exit
Else
lcFajl=Addbs(lcFajl)+aa[1]
Endif
Endfor
Return lcFajl