Excellent!

Thanks,

ben

On Wed, Dec 28, 2011 at 2:37 PM, Duncan Murdoch <murdoch.duncan@gmail.com>wrote:

> On 11-12-28 4:30 PM, Ben quant wrote:
>
>> Hello, (sorry re-posting due to typo)
>>
>> I'm attempting to get the folders of a path in a robust way (platform
>> independent, format independent). It has to run on Windows and Linux and
>> tolerate different formats.
>>
>> For these: (The paths don't actually exist in Linux but you get the idea.)
>>
>> Windows:
>> file_full_path = "C://Program Files//R//R-2.13.1//NEWS.pdf"
>> file_full_path = "C:\Program Files\R\R-2.13.1\NEWS.pdf"
>> Linux:
>> file_full_path = "~/Program FilesR/R-2.13.1/NEWS.pdf"
>> file_full_path = "/home/username/Program FilesR/R-2.13.1/NEWS.pdf"
>>
>> I would get for Windows: "C", "Program Files", "R", "R-2.13.1","NEWS.pdf"
>> I would get for Linux: "home","username", "Program Files", "R",
>> "R-2.13.1","NEWS.pdf"
>> (The drive and/or home/username aren't necessary, but would be nice to
>> have. Also, that file name isn't necessary, but would be nice.)
>>
>> Thank you for your help,
>>
>>
> If you use the normalizePath() function with winslash="/", then all
> current platforms will return a path using "/" as the separator, so you
> could do something like
>
> strsplit(normalizePath(**filename, winslash="/"), "/")[[1]]
>
> You need to be careful with normalizePath:  at least on Windows, it will
> not necessarily do what you wanted if the filename doesn't exist.
>
> Duncan Murdoch
>

	[[alternative HTML version deleted]]

