Я только что узнал, как получить URL местоположения из окон Проводника благодаря этой статье .
Сначала выполните команду в PowerShell, чтобы получить путь к активным окнам Проводника. Затем используйте grep, чтобы извлечь пути из команды return. Наконец, вам нужно удалить префикс «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)
}