В R
можно ли получить полный путь и имя файла (в Windows) файла, скопированного в буфер обмена?
Предыстория такова: у меня есть несколько больших файлов Excel, содержащих данные, которые я хотел бы обработать R
.
Файловая система относительно неструктурирована, поэтому программное получение путей/имен этих файлов на самом деле не является вариантом. Я также не хочу открывать файлы Excel для копирования данных в R
, потому что открытие больших файлов Excel занимает много времени. Поэтому я ищу вариант, в котором я могу перейти к файлу с помощью проводника, скопировать файл в буфер обмена, а затем прочитать содержимое файла в R
, который я мог бы настроить, если смогу извлечь имя файла и путь. .
Оба utils::readClipboard()
и clipr::read_clip()
возвращают NULL
, если файл скопирован в буфер обмена.
Пакет utils охватывает это
file_path <- utils::readClipboard()
print(file_path)
здесь много интересных вариантов для игр, получайте удовольствие :) https://rdrr.io/r/utils/clipboard.html
Развивая комментарии Конрада, вы можете получить путь к файлу из файла, скопированного в буфер обмена, используя readClipboard()
с форматами 49158
(короткое имя файла) и 49159
(длинное имя файла). Например, после копирования исполняемого файла R в буфер обмена:
# Short filename
readClipboard(format = "49158", raw = TRUE) |>
rawToChar()
[1] "C:\\PROGRA~1\\R\\R-44~1.1\\bin\\x64\\R.exe"
# Long filename
readClipboard(format = "49159", raw = TRUE) |>
rawToChar(multiple = TRUE) |>
paste0(collapse = "")
[1] "C:\\Program Files\\R\\R-4.4.1\\bin\\x64\\R.exe"