在Windows 10上,我尝试通过以管理员身份打开的命令提示符创建指向文件的软链接。
var loader = new THREE.OBJLoader();
loader.load('assets/models/head/lee-perry-smith-head-scan.obj', function (object)
{
var faceMaterial = getMaterial('standard', 'rgb(255,200,200)');
object.traverse(function(child)
{
if (child.name == 'Infinite')
{
child.verticesNeedUpdate = true;
child.material = faceMaterial;
}
});
object.children.forEach(function(vert)
{
vert.geometry = new THREE.Geometry().fromBufferGeometry(vert.geometry);
vert.geometry.vertices[0].set( 0, 2, 5 );
})
...我想在其中创建一个指向bibliography.bib文件的软链接到文件夹B中。
这会引发错误拒绝访问
可能是什么原因?
答案 0 :(得分:1)
必须将我的命令修改为
mklink "E:\Folder A\Folder B\bibliography.bib" "E:\Folder A\Folder C\bibliography.bib"
答案 1 :(得分:0)
首先,我们可以创建从空目录到文件的符号链接,反之亦然 - 从空文件到FSCTL_SET_REPARSE_POINT
目录 - 这是合法的会工作。我们可以通过这个符号链接使用目标文件(或目录)。如果目标是文件,我们可以打开并将其作为文件读取。但是任何文件浏览器都不正确地使用这样的符号链接,因为它将使用源文件属性FILE_ATTRIBUTE_DIRECTORY
- 因此尝试使用与目录一样的文件或反之亦然。因为这种存在意义只使用file -> file
或directory -> directory
符号链接(src和目标具有相同的FILE_ATTRIBUTE_DIRECTORY
属性 - 两者都有或没有)
同样mklink
假设要创建的符号链接文件 - 但不存在。在内部,它使用NtCreateFile
配置FILE_CREATE
。结果我们得到错误,如果文件已经存在。如果目录已存在且在调用NtCreateFile
中,我们不使用选项FILE_DIRECTORY_FILE
(当我们使用/D
切换时,mklink使用此选项) - 我们遇到STATUS_FILE_IS_A_DIRECTORY
错误。 (指定为目标的文件是一个目录,调用者指定它可以是除目录之外的任何内容。)。但mklink
显示错误消息之前,首先将其转换为win32错误代码,然后转换为.. ERROR_ACCESS_DENIED
。结果我们查看了Access denied
消息,尽管错误与拒绝访问没有共同之处
如果我们想通过mklink创建符号链接到文件,我们需要选择尚未存在的文件名(路径)作为要创建的符号链接