我需要转换此UNC的路径。我找了又找,什么都拼凑不起来。
"\\NAS_01\GlobalShare\Docs\Customers\2017\S\Smith, John\photo1.jpg"
我需要删除路径的"\NAS_01\GlobalShare\Docs\Customers\“部分和"photo1.jpg”,并以以下代码结束:
2017\S\Smith, John\
这样我就可以把它传递给下面的函数:
function getDriveFolderNoCreate(path, rootFolder) {
var name, folder, search, fullpath;
// Remove extra slashes and trim the path
fullpath = path.replace(/^\/*|\/*$/g, '').replace(/^\s*|\s*$/g, '').split("/");
// Always start with the main Drive folder
folder = rootFolder;
for (var subfolder in fullpath) {
name = fullpath[subfolder];
search = folder.getFoldersByName(name);
if (search.hasNext()) {
var folder = search.next;
var folderID = folder.getId();
return folderID;
}
}
}
我的意图是返回一个url,打开与Google Drive文件夹相同的路径。
发布于 2018-06-07 00:25:18
我最终得到了一个多部分的解决方案,效果非常好。
我将填充UNC路径粘贴到单元格B2。此公式在索引= B3 (split(B2,"\"),0,8)中,它返回我需要的确切文件夹名称。然后在我的gs文件中:
function findDriveFolder() {
var pFId = "XYZ1233333333333";
var input = SpreadsheetApp.getActive().getRange("B3").getValue();
var folders = DriveApp.getFoldersByName(input);
Logger.log("folders: " + folders[0]);
while (folders.hasNext()) {
var folder = folders.next();
var url = folder.getUrl();
showAnchor("View Folder", url);
}
}
function showAnchor(name,url) {
var html = '<html><body><a href="'+url+'" target="blank" onclick="google.script.host.close()">'+name+'</a></body></html>';
var ui = HtmlService.createHtmlOutput(html)
SpreadsheetApp.getUi().showModelessDialog(ui,"Files Folder");
}
我还没有实现searchFolders部分,我希望它能加快速度。至少现在它是有效的。
https://stackoverflow.com/questions/50707963
复制相似问题