args From, To, Move local i, j, Text, Str, De, A, Item, Dest if(ctrl) Move = 1 if(not validpath(From)) do messagebox("ok error", "Source list is not specified", "CopyMoveOnList script") quit endif if(not validpath(To)) do messagebox("ok error", "Target list is not specified", "CopyMoveOnList script") quit endif local What = ifelse(Move, "Move ", "Copy ") local Source = file.readall(From) local v = vec.createfromlines(Source) if(v <= 0) do messagebox("ok error", "Vector not created", "VEC plugin error #1") quit endif local Target = file.readall(To) local w = vec.createfromlines(Target) if(w <= 0) do messagebox("ok error", "Vector not created", "VEC plugin error #2") quit endif local FromC = vec.length(v) local ToC = vec.length(w) if(FromC == Toc) do for(i = 0; i < FromC; i++) From = v[i] CheckPath(From) To = w[i] CheckPath(To) Text = What ++ From ++ " to " ++ To osd.show(Text, "INFINITE", "14", "Arial", "-1", "255 000 000") if(Move) do file.move(From, To) else file.copy(From, To) endif osd.hide endfor quit endif local Cap = "Select file(s)/folder(s) to " ++ ifelse(Move, "move", "copy") Text = Cap ++ " FROM:" pickstring(Source, Text, 3) if(not _pickedline_) quit From = _pickedline_ De = word(From, 0) Text = Cap ++ " TO:" pickstring(Target, Text, 3) if(not _pickedline_) quit To = _pickedline_ A = word(To, 0) for(i = 1; i <= De; i++) for(j = 1; j <= A; j++) Text = word(From, i) - 1 Item = v[Text] CheckPath(Item) Text = word(To, j) - 1 Dest = w[Text] CheckPath(Dest) Text = What ++ Item ++ " to " ++ Dest osd.show(Text, "INFINITE", "14", "Arial", "-1", "255 000 000") if(Move) do file.move(Item, Dest) else file.copy(Item, Dest) endif osd.hide endfor endfor quit Function CheckPath(Path) if(not validpath(Path)) do messagebox("ok error", "Path " ++ Path ++ " is invalid", "CopyMoveOnList script") quit all endif quit