Windows7下UNC文件夹中便携版R 3.4.3无法启动的解决办法咨询
解决Windows 7下UNC路径启动便携版R的问题
针对你遇到的CMD不支持UNC路径作为当前目录、导致R启动崩溃的问题,我整理了几个实用的解决思路:
用
subst命令映射虚拟驱动器
Windows自带的subst工具能把UNC路径映射成一个本地虚拟盘符,这样就能像访问本地驱动器一样启动R:- 打开命令提示符(CMD),输入以下命令(替换成你的实际路径和未占用盘符):
subst Z: \\你的UNC文件夹路径\R-portable-3.4.3 - 之后直接通过
Z:\R.exe或者Z:\RScript.exe就能正常启动R了。如果想每次开机自动映射,可以把这个命令保存成批处理文件,放到系统的启动文件夹里。
- 打开命令提示符(CMD),输入以下命令(替换成你的实际路径和未占用盘符):
创建批处理文件切换目录后启动R
写一个简单的批处理,先切换到本地目录(比如系统临时文件夹),再启动R的可执行文件,绕开UNC路径的限制:
新建一个文本文件,粘贴以下内容并替换成你的UNC路径:@echo off :: 切换到本地临时目录 cd /d C:\Windows\Temp :: 启动便携版R start "" "\\你的UNC文件夹路径\R-portable-3.4.3\R.exe"保存为
StartR.bat,双击这个批处理就能正常启动R。如果要启动RScript,只需要把上面的R.exe换成RScript.exe即可。配置R启动时自动切换工作目录
这个方法可以辅助前面的方案,让R启动后自动使用本地目录作为工作目录:
找到便携版R文件夹中的Rprofile.site文件(如果没有就新建一个),添加一行R代码:setwd("C:/Windows/Temp") # 设置为本地目录这样R启动后会自动切换到指定的本地目录,避免后续操作遇到UNC路径的问题。
补充说明:Windows 7的CMD本身不支持将UNC路径作为当前工作目录,所以直接从UNC文件夹启动R的可执行文件时,CMD会报错并切换到Windows目录,进而导致R启动崩溃。上面的方法都是通过绕开UNC作为当前目录的方式来解决问题的。
内容的提问来源于stack exchange,提问作者JL11




