Мне нужно получить домашний каталог пользователя или хотя бы его имя.
Используя FileUtils
, мне нужно перемещать файлы на основе их имени учетной записи, а использование ~/
, похоже, не работает.
Как мне получить имя учетной записи пользователя?
Мне нужно получить домашний каталог пользователя или хотя бы его имя.
Используя FileUtils
, мне нужно перемещать файлы на основе их имени учетной записи, а использование ~/
, похоже, не работает.
Как мне получить имя учетной записи пользователя?
Я еще не пользователь rubymotion, но в большинстве рубинов вы можете сделать
ENV["HOME"]
для домашнего каталога и
ENV["USER"]
чтобы пользователь достиг именно этого, используя определенные переменные среды.
Etc.getpwuid.dir
(и почему это не работает в Windows). Удивительно, что ruby, который пытается следовать POLS, не предоставляет независимого от платформы пути к этой, казалось бы, простой задаче.
- person Patru; 21.05.2014
Чтобы перейти к пути к документу и создать новую папку в 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
Если вам нужно только имя учетной записи пользователя, вы можете использовать NSHost
Вместо домашнего каталога вы можете использовать NSHomeDirectory.
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
Затем вы можете использовать copyItemAtPath