早在我R生活中,我发现了痛苦R窗正在不同的网页时,来到隔离间的目录和子目录。虽然我知道关于这个问题,我仍然感到痛苦的是通过手动具有把反斜杠,在前面我所有的反斜杠,或更换所有与他们进斜线。

我喜欢拷贝的路径名或整个文件的任何一个的几个应用程序,我有我的电脑上运行(例如。XYPlorer,一切都通过voidtools),然后将其粘贴到Tinn-R.是无论如何,我可以自动执行任务时,我目前正在做的工作。

  • 是有一个设置在Tinn-R?
  • 是有一个设置在R?
  • 是否有一个autohotkey脚本,可以为我做的默认情况下?

背景对于那些不知道我在说什么

引述R Windows常见问题,版本的R-2.9.2,B。D.Ripley和D。J.默多克

反斜杠,必须增加了一倍R 字符串,例如一个 需要 `"d: -2.9.2\library\xgobi\scripts\xgobi.bat"'.你可以让生活更容易为自己 通过使用斜杠作为路径 分离器:他们做的工作,在Windows

有帮助吗?

解决方案

我写了一个 autohotkey 脚本,被触发时通过输入"rfil"-没有倒逗号。

:O:rfil:: ;replaces backslashes with forward slashes in a file name that is stored on the clipboard
StringReplace,clipboard,clipboard,\,/,All
send %clipboard%
return

如果任何人都可以告诉我一个快捷的方法比采用发送命令,我将不胜感激。我有一个autohotkey脚本运行的所有时间在我所有的计算机所以我没有下载新的软件,以运行,这个脚本。我只是添加到我的默认脚本文件。

我会很乐意解释一下我有没有如果你想要我。

其他提示

ClipPath 增加了正确的-菜单选择何种削减你想要贴。

通过 获得遗传学做, 它看起来像它可能是一个有用的资源R用户一般。

我已经适应了以下autohotkey码共享,以取代所有反斜杠有斜杠时我粘贴到任何东西在后他以俳句.有利弊,这种方法。

赞成: 你不需要去想它。该守则将只如果运行的活动的窗口是后他以俳句.

缺点: 代码被称为每次你糊的东西在R.每一次,它试图找到反斜杠,代之以正斜杠。

GroupAdd, R, RStudio

;replaces backslashes with forward slashes in a file name that is stored on the clipboard
#IfWinActive ahk_group R
   ^v::
      StringReplace,clipboard,clipboard,\,/,All
      send %clipboard%
   return
#IfWinActive

我使用的搜索和替换,但是当然,它不是完全自动的,你要照顾好不要将" "或" "。

不完全回答你在寻找,但R都有其自己的外壳脚本职能,其中我通常使用:

名单。文件(全=TRUE)[返回全路径的适当分离]

文件。路径()[加入操作系统的具体隔离]

等等...

你可以创建一个包装函数周围的所有道路的名称:

> replace.slash <- function(path.name) gsub("\\\\","/",path.name)
> path.name <- "c:\\tmp\\"
> replace.slash(path.name)
[1] "c:/tmp/"

[编辑]: 谢谢你哈德利.我纠正的错误。

顺便说一下,我找到了这个非常 有用的关于这个问题的讨论.

这个是 AutoIt 代码做同一件事(取代了 \/).

Local $text1 = ClipGet()
$text2=StringReplace($text1,"\","/")
ClipPut($text2)

为什么不建立一个函数,检查操作系统和返回适当的文件分离器(java解决方案,我相信)?

file_sep <- function(){
ifelse(.Platform$OS.type == "unix", "/", "//")
}
file_sep()

你可以选择一个较短的名称,如果你喜欢。大缺陷是,你必须贴在一起的文件路径,但它仍然是值得的长期的如果你在工作上的大型项目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top