OpenRandom

Название OpenRandom
Имя файла (*.txt) OpenRandom.txt
Описание Открывает случайный файл в ассоциированном приложении
Автор Вахмурка
Параметры путь, флаг, расширение, приложение
(см. Комментарии)
Вызываемые плагины file
Иконка зависит от параметров
Версия 2.0
Дата обновления 15.02.2012
args Path, Par, Ext, App
local Subs, Obj, List

if(Par < 2) do
	Obj = R(Path, Par, Ext)
else
	Obj = R(Path, 4, Ext)
	List = file.listfiles(Obj, 0)
	Obj = line(List, 1)
endif

if(not App) do
	file.doverb(Obj, "open")
else
	do(App, Obj)
endif

quit

Function R(Path, Subs, Ext)
local OX, Ran, Obj, Xt, Drap
local List = file.listfiles(Path, Subs)
local Folders = line(List, 0)

if(slice(Ext, 1) == "!") do
	Xt = remove(Ext, 1)
	Drap = 0
elseif(slice(Ext, 1) == "*") do
	Drap = 1
else
	Xt = Ext
	Drap = 2
endif

@Retry
Ran = random(Folders) + 1
Obj = line(List, Ran)
OX = file.type(Obj)

if(not Drap) do
	if(Xt == OX)
		jump Retry

elseif(Drap == 1) do
	quit(Obj)

else
	if(Xt != OX)
		jump Retry

endif

quit(Obj)

Комментарии:

Скрипт вначале выбирает случайный документ по правилам, заданным пользователем, а затем открывает его в ассоциированном приложении. Под таким приложением понимается не то, которое задано во внутренних ассоциациях (cm_InternalAssociate), а то, которое задано в Windows (cm_Associate).

Первым параметром может быть "%P", "%T" или явно заданный путь. Второй параметр может принимать следующие значения: 0 - случайный файл в корне указанной директории, 1 - то же, но включая поддиректории, 2 - первый файл в случайной поддиректории указанного пути.

Третий параметр задает расширение открываемого файла. Просто набор символов показывает, что открывать следует только файлы с указанным расширением, если перед этими символами стоит !, то открыт будет файл с любым расширением, кроме указанного. Наконец, если третий параметр начинается с *, расширение не имеет значения. Допускается использование параметра %E.

Четвертый параметр - путь к приложению, где необходимо открыть файл, если это приложение отличается от назначенного по умолчанию.
Параметры скрипта
Результат
"%P", 0, "jpg" Случайный файл с расширением jpg из текущей директории (пути-источника)
"%T", 1, "!ion" Файл с любым расширением, кроме ion (удобно для исключения descript.ion) открывается из целевой директории (пути-приемника) и ее поддиректорий
"c:\one\two", 2, "*что угодно или вообще ничего" Сначала случайным образом выбирается поддиректория пути c:\one\two, затем в ней открывается первый файл
"%P", 0, "%E", "c:\SomeApp\Program.exe" Файл с текущим путем и таким же расширением, что у текущего файла, открывается в приложении c:\SomeApp\Program.exe


На главную Все о Total Commander PowerPro PowerPro & Total Commander