2017-05-07 60 views
0

我基本上有很多關於我的硬盤文件,所有文件都是這種形式的文件,
2014.C1.012.012 - 文件的全名,所有人都有不同的號碼和姓名。 我想要做的是一個網頁,只在本地運行,我有一張桌子除以2024 | C4 | 912 | 928 |說明,我應該可以搜索一個圖形,或者只選擇C1文件。 對於excel,我通過簡單地使用bash來獲取文件路徑中的所有文件名,然後按類別對它們進行分割,然後使用超鏈接功能。 什麼應該是在網頁上做到這一點的最佳方法?如何從我的硬盤訪問網頁

+2

歡迎來到SO首先看看這個:https://stackoverflow.com/help/how-to-ask。發佈你到目前爲止嘗試過的東西。 –

回答

1

您的瀏覽器沙盒是在網頁中運行的Javascript:您無法從「網頁」訪問「計算機」。

您必須運行服務器進程才能訪問您的數據:PHP,Python或基於Node.JS的解決方案。

此服務器將有任務瀏覽您的數據並通過網頁發送結果。

0

對於網頁,您可以像使用Excel一樣進行操作:製作生成HTML文件的Bash腳本(或Javascript或Python等)。

另一種方法,如果你想創建一個網頁來訪問您的文件系統在本地運行是使用Electron。以下是您可以在Electron中運行以創建文件列表的示例網頁。實施搜索功能留給讀者來練習。

Loading file listing… 

<style> 
body { 
    font-family: sans-serif; 
} 

table { 
    border-collapse: collapse; 
} 

td { 
    border: 1px solid #eee; 
    padding: 4; 
} 
</style> 

<script> 
// Replace this with the path of the directory you want a file listing of. 
let directory_path = "." 

let file_name_pattern = /^(.*?)\.(.*?)\.(.*?)\.(.*?) - ([^]*)/ 

require("fs").readdir(directory_path, (error, file_names) => { 
    if (error) { 
    document.body.textContent = "Failed to read directory listing: " + error.message 
    } else { 
    let table_element = document.createElement("table") 
    file_names.forEach(file_name => { 
     let match = file_name_pattern.exec(file_name) 
     if (!match) { 
     return 
     } 
     let tr_element = document.createElement("tr") 
     let cell_index = 0 
     while (cell_index++ < 5) { 
     let td_element = document.createElement("td") 
     td_element.textContent = match[cell_index] 
     tr_element.appendChild(td_element) 
     } 
     table_element.appendChild(tr_element) 
    }) 
    document.body.firstChild.replaceWith(table_element) 
    } 
}) 
</script>