2015-07-13 83 views
2

我想用scandir函數使用Lua掃描根目錄。如果我將下面的代碼用於任何其他目錄,則效果很好。它掃描目錄並返回所有存在的文件。使用scandir掃描根目錄

directory="//home//" 
function scandir(directory) 
    local i, t, popen = 0, {}, io.popen 
    for filename in popen('ls -a "'..directory..'"'):lines() do 
     i = i + 1 
     t[i] = filename--loop populates the array with the scanned files 
    end 
    print(unpack(t)) 
    return t--t contains all the scanned files 
end 

scandir(directory) 

[email protected]:~/.program$ ls 
file1 file2 

我怎麼設置我的路徑目錄,使得它掃描的根目錄訪問file1file2下幾個文件?

+0

當心文件名中的一些特殊字符。例如一個文件名可以包含換行符;這將導致':lines()'不正確地分裂。 – daurnimator

回答

3

您不會在字符串中轉義正斜槓/。要掃描/home,使用方法:

directory = "/home" 

根直接表示與單斜線:

directory = "/" 
+0

謝謝你俞昊.. – bislinux