Что нового

Запуск случайного файла из множества файлов с определенным словом в названии

lixar21

Новичок
Сообщения
70
Репутация
0
Версия AutoIt:
AutoIt v.3.3.14.2

Описание:
Добрый день, гуру AutoIt'а.
Помогите со скриптом.

В папке D:\папка 1\ лежит множество подпапок с файлами txt.
У всех файлов txt - разные названия.

Как кодом автоит - найти в этом множестве файлов - только те файлы, которые содержат в своем названии текст "СЛОВО-1", а затем запустить из этого найденного множества файлов - один случайный ?

Примечания:
 

Вложения

  • папка 1.rar
    1.3 КБ · Просмотры: 0

gunter123

Продвинутый
Сообщения
159
Репутация
69
Код:
#include <File.au3>

$aFiles = _FileListToArray("D:\Папка 1", "*СЛОВО-1*.txt", 1)
If @error Then Exit MsgBox(4096, "", "Файлы не найдены")
ShellExecute($aFiles[Random(0, Ubound($aFiles)-1, 1)])
 
Автор
L

lixar21

Новичок
Сообщения
70
Репутация
0
gunter123 , почему-то не работает.
Выдает при запуске ошибку:
 

Вложения

  • screenshot.jpg
    screenshot.jpg
    21.6 КБ · Просмотры: 8

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
lixar21,
Код:
#include <MsgBoxConstants.au3>
#include <File.au3>

Local $aFiles = _FileListToArray("D:\Папка 1", "*СЛОВО-1*.txt", 1, True)
If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", "Файлы не найдены")
ShellExecute($aFiles[Random(1, $aFiles[0], 1)])
 
Автор
L

lixar21

Новичок
Сообщения
70
Репутация
0
Tempo , тоже не работает.
Открывает при каждом запуске один-единственный файл "СЛОВО-154.txt"
Хотя там есть файлы:
D:\Папка 1\1\111-3\
D:\Папка 1\каталог третий\453878 СЛОВО-1 83457.txt
D:\Папка 1\каталог четвертый (4)\6 6e -9655 88 - копия СЛОВО-1.txt

То есть я думаю, что скрипт - не ищет файлы в подпапках.
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Код:
#include <MsgBoxConstants.au3>
#include <File.au3>

Local $aFileList = _FileListToArrayRec("D:\Папка 1", "*СЛОВО-1*.txt", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH)
If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", "Файлы не найдены")
ShellExecute($aFileList[Random(1, $aFileList[0], 1)])
 
Автор
L

lixar21

Новичок
Сообщения
70
Репутация
0
Tempo, все заработало теперь. Спасибо.
 
Верх