Что нового

Создание массива из выделенных файлов

Сообщения
60
Репутация
-2
Привет. Такая задача.
Я в Total Commander выделяю файлы с параметром %P%S.
Как мне получить строковый массив из файлов, разделённый пробелами?


Код:
For $i = 0 To $CmdLine[1]
$sss = $i
;MsgBox(0, "111", sss)
Next
MsgBox(0, "111", sss)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
точнее, что нужно?
нужно выделить файлы в директории и получить список путей?
 
Автор
Parazit
Сообщения
60
Репутация
-2
Нет. Файлы уже выделены. Надо получить список файлов с полными путями.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Не знаю как там в коммандере
на autoit можно так
Код:
#include <Array.au3>
Local $fd = FileOpenDialog('Выберите несколько файлов', @ScriptDir, '(*)', 6)
If @error Then Exit
Local $sd = StringInStr($fd, '|', 0, 1)
If $sd Then
	Local $gp = StringLeft($fd, $sd - 1)
	Local $str = StringReplace($fd, '|', '*' & $gp & '\')
	Local $sc = StringTrimLeft($str, $sd)
	Local $res = StringSplit($sc, '*')
	_ArrayDisplay($res)
EndIf
 
Автор
Parazit
Сообщения
60
Репутация
-2
joiner, как мне создать самый простой массив из неизвестного количества параметров, переданных скрипту?
Допустим
$sss = $CmdLine[1]
$ddd = $CmdLine[2]
$kkk = $CmdLine[3]
И т.д.

Явно, что тут надо создавать цикл, и каждому параметру присваивать индекс.
Разделить их пробелом или переносом строки, и передасть в массив.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Parazit
Специальный массив $CmdLine содержит параметры командной строки, переданные скрипту AutoIt при запуске
Массив $CmdLine является константой и не доступен для изменения размерности или параметров полученных при запуске скрипта.
компилируй код
Код:
#include <Array.au3>
_ArrayDisplay($CmdLine)

выдели файлы и перетащи на получившийся экзешник, получишь массив путей
каким образом в твоем случае скрипт получает команды(пути)
что вообще ты хочешь написать? иначе так можно долго гадать с какого края начинать
 
Верх