【问题标题】:How to get a path string from R that I can paste immediately into Windows如何从 R 中获取可以立即粘贴到 Windows 中的路径字符串
【发布时间】:2020-10-22 05:48:57
【问题描述】:

假设我有一个 Windows 路径:"R:\data\state-capitals\final\"

如果我添加“\”,我可以使用 R 控制台中的路径(在 Windows 系统上)。

mypath = "R:\\data\\state-capitals\\final\\";

如果我有 R 控制台表单

mypath = "R:/data/state-capitals/final/";
normalizePath(mypath);
# "R:\\data\\state-capitals\\final"

我该如何走另一条路?如何让 R 将某些内容打印到我可以复制的屏幕上,单击 Win-R 并粘贴以使用文件资源管理器转到该位置...我希望它在屏幕上打印某些内容(以及剪贴板)。

我知道nchar("\\") 是一个,但这不允许我最小化字符串操作...我希望 R 输出类似:R:\data\state-capitals\final\ 这样我就可以复制/粘贴回 Windows 环境。

保留尾部斜线的解决方案会很好。


基于@Linh,这里有几个函数...

https://gist.github.com/MonteShaffer/8555de33cec2b6ffff81c268bcccc041

# https://stackoverflow.com/questions/64476043/
# https://stackoverflow.com/questions/1189759/
convertDirectoryR.toWin = function(myDir = getwd())  # "R:/data/state-capitals/final/"
  {
  cat( normalizePath(myDir) );
    writeClipboard( normalizePath(myDir) ); # R:\data\state-capitals\final\
  }

openDirectoryR.inWin = function(myDir = getwd())  # "R:/data/state-capitals/final/"
  {
  cmd = paste("explorer",  gsub('/', '\\\\', myDir, fixed=TRUE ) );
  suppressWarnings( shell( cmd ) );        # R:\data\state-capitals\final\
  }

convertDirectoryWin.toR = function(myDir = readClipboard()) # # R:\data\state-capitals\final\
  {
  gsub('\\', '/', myDir, fixed=TRUE );   # "R:/data/state-capitals/final/"
  }

除了粘贴,我如何读取winDir?使用convertDirectoryWin.toR?

【问题讨论】:

    标签: r windows terminal customization rprofile


    【解决方案1】:

    我觉得你可以用cat()

    mypath = "R:/data/state-capitals/final/"
    cat(normalizePath(mypath))
    # "R:\data\state-capitals\final\
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 2011-07-17
      • 2018-03-31
      • 2018-03-19
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多