--lua
local ffi = require("ffi")
ffi.cdef[[ bool MoveFileA(const char* lpExistingFileName, const char* lpNewFileName); ]]
log 'clear' log 'mode compact'
local path = [[D:\4]] -- путь к папке
local path_output = [[D:\5]] -- куда переместить новые папки
local path_txt = [[D:\1.txt]] -- файл с новыми именами
local resultarray, count = dir (path, '', 'norecursion')
log('Всего файлов/папок: ' .. tostring(count))
log()
dircreate (string.format('%q', path_output)) -- создать папку куда перемещать переименованные папки
local name_folder = {}
local h_file = io.open(path_txt, 'r')
if h_file then
for line in h_file:lines() do
name_folder[#name_folder+1] = line
end
h_file:close()
log('Имён в файле ' .. tostring(#name_folder))
local count_folder_rename = 0
for i=1, count do
if resultarray[i][4] == '' then
if count_folder_rename < #name_folder then
-- переименование
ffi.C.MoveFileA(resultarray[i][1], resultarray[i][2] .. name_folder[count_folder_rename+1])
log(resultarray[i][1], resultarray[i][2] .. name_folder[count_folder_rename+1])
-- перемещение
ffi.C.MoveFileA(resultarray[i][2] .. name_folder[count_folder_rename+1], path_output .. '\\' .. name_folder[count_folder_rename+1])
log(resultarray[i][2] .. name_folder[count_folder_rename+1], path_output .. '\\' .. name_folder[count_folder_rename+1])
count_folder_rename = count_folder_rename + 1
log()
end
end
end
else
log('Файл не открылся')
end