From: hatespyware@... (anon luker) Date: 2004-04-03T22:49:26+09:00 Subject: Rre: ruby, cygwin and paths >How to convert a 8.3 dos paths to its fully expanded version. For >example, how to translate: >C:\\CYGWIN\\HOME\MYFULL~1\MONROE~9.ALT >to >/cygdrive/c/cygwin/home/My Full Name/Monroe-Tyson.alt >Any solution out there? >Guillaume. require 'Win32API' def get_long_win32_filename(short_name) max_path = 1024 long_name = " " * max_path lfn_size = Win32API.new("kernel32", "GetLongPathName", ['P','P','L'], 'L').call(short_name, long_name, max_path) return (1..max_path).include?(lfn_size) ? long_name[0..lfn_size-1] : short_name end short_name = 'C:\progra~1\frozen~1\frozen~1.exe' puts "#{get_long_win32_filename(short_name)}" # => C:\Program Files\Frozen-Bubble\frozen-bubble.exe cheers, prs