나는 사용자의 홈 디렉토리 또는 적어도 그의 이름을 알아야합니다.RubyMotion OSX에서 사용자 이름 얻기
FileUtils
을 사용하면 계정 이름을 기반으로 파일을 이동해야하며 ~/
을 사용하면 작동하지 않는 것 같습니다.
어떻게 사용자의 계정 이름을 얻을 수 있습니까?
나는 사용자의 홈 디렉토리 또는 적어도 그의 이름을 알아야합니다.RubyMotion OSX에서 사용자 이름 얻기
FileUtils
을 사용하면 계정 이름을 기반으로 파일을 이동해야하며 ~/
을 사용하면 작동하지 않는 것 같습니다.
어떻게 사용자의 계정 이름을 얻을 수 있습니까?
나는 아직 rubymotion 사용자가 아닌,하지만 대부분의 루비에 당신은 정의 된 환경 변수를 사용하여 정확하게 달성하기 위해 사용자
ENV["HOME"]
홈 디렉토리에 대한
및
ENV["USER"]
을 할 수 있습니다.
OSX에서 문서 경로로 이동하여 새 폴더를 만들 수 있습니다.
당신이 원하는 모든 사용자 계정의 이름 인 경우
directory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true).first
directory = directory.stringByAppendingPathComponent("Sub Folder")
fileManager = NSFileManager.defaultManager
fileExists = fileManager.fileExistsAtPath(directory)
if (fileExists)
NSLog("Folder already exists")
else
if(!fileManager.createDirectoryAtPath(directory, withIntermediateDirectories:true, attributes: nil, error: nil))
NSLog("Failed to create folder")
else
NSLog("Successfully created folder")
end
end
당신은 당신이 대신 NSHomeDirectory을 사용할 수있는 홈 디렉토리를 들어
NSHost
를 사용할 수 있습니다.
fm = NSFileManager.defaultManager
directory = NSSearchPathForDirectoriesInDomains(NSHomeDirectory, NSUserDomainMask, true).first
fm.contentsOfDirectoryAtPath(directory, error: nil).each do |file|
puts file # outputs each file under the home directory
// Copy file here using NSFileManager
end
그런 다음 NSFileManager를의 copyItemAtPath
대단한 감사, 나는 그것을 줄거야! 내가하려는 일은 사용자 홈 디렉토리에서 비롯된 경로에서 다른 디렉토리로 파일을 복사하는 것입니다. 나는 또한 파일 이름을 모르기 때문에 와일드 카드 매치 (*)를 사용하고있다. –
감사 Patru을 사용할 수 있습니다, 내가이 글을 발견 한 이후 http://stackoverflow.com/questions/3020187/getting-home-directory-in-mac- os-x-using-c-language는 이것이 최선의 방법이 아닐 수도 있음을 시사합니다. 나는 그것을 (그리고 제안들) try and see를 줄 것이다. –
물론 프로세스의 나머지 부분이 환경에서하는 일을 제어 할 수 없다면 당신이 옳을 것이다. 홈 디렉토리를 가져 오는 것에 대한 더 많은 제안은 [this post] (http://stackoverflow.com/questions/4190930/cross-platform-means-of-getting-users-home-directory-in-ruby)에서 확인할 수 있습니다. 루비를 사용하여, 특히 Etc.getpwuid.dir에 대한 설명 (그리고 왜 Windows에서는 작동하지 않습니다). POLS를 따르려고하는 루비가 이처럼 단순한 작업에 플랫폼 독립적 인 방식을 제공하지 않는다는 것은 놀랍습니다. – Patru