Я создаю функцию в pure-Lua для сканирования файлов из каталога и помещаю их в другой файл.Lua programming - os.execute() не работает в Windows
Команда I судимое был:
os.execute("dir /B C:\\Users\\Fernando\\workspace\\Organizator2\\s1 >
C:\\Users\\Fernando\\workspace\\Organizator2\\temp.txt")
но ... Dont работы! Я провел много тестов с другими более простыми командами, такими как «запустить блокнот» или «mkdir C: \ test», и они тоже не работали! Хуже всего то, что я пробовал эти же команды непосредственно в подсказке, и все правильно.
Я попытался использовать tooo io.popen(), но система вернула «незаконную операцию» для любой переданной мной команды (даже пустую строку!).
вот весь код:
function ScanDirectory(source, str)
local str = str or "temp.txt"
os.execute("dir /B "..source.." > "..str)
directory = io.open(str,"r")
return directory
end
-- main script
do
local source = "C:\\Users\\Fernando\\workspace\\Organizator2\\s1"
local directory = ScanDirectory(source, "C:\\Users\\Fernando\
\workspace\\Organizator2\\temp.txt")
end
Я использую окна 7 и Luaforwindows, 5.1 и LuaEclipse
ли кто-нибудь когда-нибудь видел проблему, как это?
Trick: либо использовать косые черты, работая хорошо и в Windows, либо в виде длинной строки: [[C: \ Users \ Fernado \ etc.]]. Оба лучше (и легче набирать/использовать), чем эти удвоенные обратные косые черты. – PhiLho