#include <Array.au3>
#include <Constants.au3>

$sPath = @ScriptDir ; Каталог для поиска.
$sFileMask = '*.*' ; Маска. Поиск всех файлов в текущем каталоге. Правильный формат маски поиска смотрите в описании к функции FileFindFirstFile.
$sOut = '' ; Переменная для хранения вывода StdoutRead.

; Если указанный путь не является каталогом, то выход
If Not StringInStr(FileGetAttrib($sPath), "D") Then Exit

$sOut = StringToBinary('0' & @CRLF, 2)
$sPath = StringRegExpReplace($sPath, '\\+$', '') ; Удаляет завершающие слеши

#cs
	Параметры ком-строки для DIR:
	/B - вывод только имен.
	/A-D - поиск всех файлов, без папок.
	/S - поиск в подкаталогах.
#ce
$iPID = Run(@ComSpec & ' /U /C DIR "' & $sPath & '\' & $sFileMask & '" /B /S /A-D', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)

While 1
	$sOut &= StdoutRead($iPID, False, True)
	If @error Then ExitLoop
WEnd

$aOut = StringRegExp(BinaryToString($sOut, 2), '[^\r\n]+', 3)

If @error Or UBound($aOut) < 2 Then Exit

$aOut[0] = UBound($aOut) - 1
_ArrayDisplay($aOut, 'все файлы')