Автоматически устанавливать рабочий каталог в текущую открытую папку в R

Возможно ли в R автоматически установить рабочий каталог в текущую открытую папку?

Пример: предположим, что в данный момент я открыл папку example_dir на своем компьютере.

введите здесь описание изображения

Теперь я хочу запустить некоторый код R, чтобы установить эту папку в качестве моего рабочего каталога, не зная имени открытой папки. Код R должен выглядеть так:

currently_opened_folder <- xxxxxxx some function extracting the path for example_dir xxxxxxxx
setwd(currently_opened_folder)

person Joachim Schork    schedule 17.10.2019    source источник


Ответы (1)


Я только что узнал, как получить URL-адрес местоположения из окон проводника благодаря этой статьи.

Сначала выполните команду в PowerShell, чтобы получить путь к активным окнам проводника. Затем используйте grep, чтобы извлечь пути из возврата команды. Наконец, вам нужно удалить префикс «file:///» и декодировать URL-адрес (заменив специальные символы, такие как «%20»).

# Get location URL of opened Explorer windows
location_url <- grep(
  "file", 
  system('powershell -command "$a = New-Object -com "Shell.Application"; $b = $a.windows() | select-object LocationURL; $b"', intern = TRUE),
  value = TRUE
)

# Check if there are multiple windows opened
if (length(location_url) > 1) {
  message("Multiple Explorer windows are opened.")
} else {
  # Clean paths
  path <- gsub("file:///", "", URLdecode(location_url))
  setwd(path)
}
person Biblot    schedule 17.10.2019
comment
Потрясающе, именно то, что я искал. Большое спасибо! - person Joachim Schork; 18.10.2019