在Windows上将相对路径转换为绝对路径?

问题描述 投票:2回答:1

我知道这个问题:Convert relative path to absolute using JavaScript 但它是关于在浏览器中运行的JavaScript。我的JS在Windows(WSH)上运行。 这意味着我没有以下物品:windowdocumentconsole。我已经想出了一些事情: 既然你可以在路径中使用斜杠(/)而不是反斜杠()而你不需要转义斜杠,我会尝试使用/ ...我也认为最好删除尾部如果有的话削减。

所以这里有一些我已经想到的事情:

var currentDir = new ActiveXObject("WScript.Shell").CurrentDirectory.replace(/\\/g, '/'); //current directory with slashes
var root = currentDir.substring(0,2) //e.g. C: or D: (without trailing slash)

有几个不同的相对路径必须正确转换。为了确保,这里有一些例子:

如果脚本是从C:\folder1\folder2\folder3启动的,则应相应地转换路径:

/ => C: /test => C:/test \test => C:/test \test\ => C:/test .. => C:/folder1/folder2 C:\folder1\folder2\folder3\..\folder3-1\test.js => C:/folder1/folder2/folder3-1/test.js ../../test.js => C:/folder1/test.js D:\ => D: . => C:/folder1/folder2/folder3 ./test => C:/folder1/folder2/folder3/test .\..\.. => C:/folder1 D:/folder/another folder/file.js/../../other file.js => D:/folder/other file.js

是的..我有点被困在这里。我想这需要某种解析循环,但我无法想出解决方案。 我希望你能在这里帮助我。 :/

javascript relative-path jscript absolute-path wsh
1个回答
0
投票

问题

  • 如何在windows脚本主机jscript中进行常见的文件路径操作

  • 规范化pathstep分隔符以转发斜杠,然后将其转换为带有qazxsw poi的数组

split()
© www.soinside.com 2019 - 2024. All rights reserved.