|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Показать имена всех EXE файлов в папке |
|
[решено] Показать имена всех EXE файлов в папке
|
Старожил Сообщения: 247 |
Как показать имена всех EXE файлов в папке?
СПАСИБО! |
|
Отправлено: 17:38, 05-03-2011 |
Старожил Сообщения: 247
|
Проблема если скрипт запускать с Флешки, он после @ScriptDir ставит еще одну "\" т.е. я указываю $aReturn = _FileCMDSearch(@ScriptDir & "\exefiles\, "*.exe") в итоге он пишет: D:\\exefiles\...
Как решить данную проблему? |
Отправлено: 20:45, 15-03-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать Centrinar, смотри, должно работать, только я для примера DLL ещё указал.
; пишем тут что нам нужно $aga_papka="C:\Program Files\K-Lite Codec Pack" $aga_tupi="exe;dll" ; дальше ничего не трогаем Global $Stack[50], $Stack1[50] $Text ='' FileFindNextFirst($aga_papka) While 1 $tempname = FileFindNext($aga_tupi,1) If Not $tempname Then ExitLoop $Text &= $tempname & @CRLF WEnd ;пишем в файл $file = FileOpen(@ScriptDir&'\вот_они_EXE.ini',2) FileWrite($file, $Text) FileClose($file) Func FileFindNextFirst($FindCat) $Stack[0] = 1 $Stack1[1] = $FindCat $Stack[1] = FileFindFirstFile($FindCat & "\*.*") Return $Stack[1] EndFunc ;==>FileFindNextFirst ;$mode=0 - файлы ;$mode=1 - типы файлов ;$mode=2 - каталоги ;$Level= от 1 до 49 ;$type = может иметь перечисление расширений, например exe;dll;com точнее $tempname = FileFindNext('exe;dll;com',1,1) Func FileFindNext($type = 'log', $mode = 0, $Level = 49) While 1 $file = FileFindNextFile($Stack[$Stack[0]]) If @error Then FileClose($Stack[$Stack[0]]) If $Stack[0] = 1 Then Return "" Else $Stack[0] -= 1 ContinueLoop EndIf Else If StringInStr(FileGetAttrib($Stack1[$Stack[0]] & "\" & $file), "D") > 0 Then If $Stack[0] = $Level Then ContinueLoop $Stack[0] += 1 $Stack1[$Stack[0]] = $Stack1[$Stack[0] - 1] & "\" & $file $Stack[$Stack[0]] = FileFindFirstFile($Stack1[$Stack[0]] & "\*.*") If $mode = 2 Then Return $Stack1[$Stack[0]] Else ContinueLoop EndIf Else If $mode = 2 Then ContinueLoop If $mode = 1 Then ;If StringInStr (';'&$type&';', ';'&StringRight($Stack1[$Stack[0]] & "\" & $file, 3)&';')=0 Then If StringInStr (';'&$type&';', ';'&StringRegExpReplace($Stack1[$Stack[0]] & "\" & $file, '.*\.(\S+)', '\1')&';')=0 Then ContinueLoop Else Return $Stack1[$Stack[0]] & "\" & $file EndIf Else Return $Stack1[$Stack[0]] & "\" & $file EndIf EndIf EndIf WEnd EndFunc ;==>FileFindNext |
Отправлено: 21:15, 15-03-2011 | #12 |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 21:27, 15-03-2011 | #13 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата Centrinar:
|
|
Отправлено: 21:30, 15-03-2011 | #14 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Большое спасибо, очень пригодилось!
|
Отправлено: 22:21, 21-03-2011 | #15 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Объединение всех файлов в папке | AlexVong | Скриптовые языки администрирования Windows | 5 | 24-06-2015 23:34 | |
CMD/BAT - [решено] Как имена файлов расположенных в одной папке записать в текстовый файл? | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 12-05-2009 21:44 | |
Интерфейс - Имена файлов в папке Windows\Media | Билл Гейтс | Microsoft Windows 2000/XP | 3 | 09-11-2008 13:10 | |
[решено] Импорт всех reg-файлов в папке? | s127d | Автоматическая установка Windows 2000/XP/2003 | 2 | 24-05-2008 05:11 | |
php как вывести список всех файлов в папке | Вебмастеру | 6 | 12-02-2005 17:33 |
|