Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Запуск программы по маске (http://forum.oszone.net/showthread.php?t=329496)

habib2302 03-09-2017 11:20 2762203

Запуск программы по маске
 
Доброе время суток. Как запустить программу по маске. Имеется допустим AcroRdrDC1500720033_ru_RU.exe и с выходом нового релиза версия (сборка) меняется. И мне нужно, чтобы скрипт запускал программу по маске AcroRdrDC*_ru_RU.exe

Iska 03-09-2017 12:02 2762208

Запустит первый подходящий файл из текущего каталога, прочие проигнорирует:
Код:

AutoItSetOption("MustDeclareVars", 1)

Local $oFSO = ObjCreate("Scripting.FileSystemObject")
Local $oFile

For $oFile In $oFSO.GetFolder(".").Files
        If StringRegExp($oFile.Name, "AcroRdrDC\d+_ru_RU\.exe") = 1 Then
                ConsoleWrite($oFile.Name & @CRLF)
                Run($oFile.Name)

                ExitLoop
        EndIf
Next

Exit(0)


habib2302 03-09-2017 14:04 2762228

Iska, а как правильно вставить $oFile.Name между исполняемым файлом допусти 7z.exe и командой для распаковки -oc:\soft

Iska 03-09-2017 14:15 2762232

Цитата:

Цитата habib2302
а как правильно вставить $oFile.Name между исполняемым файлом допусти 7z.exe и командой для распаковки -oc:\soft »

Покажите, как выглядит команда, просто с «AcroRdrDC1500720033_ru_RU.exe».

habib2302 03-09-2017 14:23 2762233

7z.exe e @ScriptDir\AcroRdrDC1500720033_ru_RU.exe -o@ScriptDir\AcroRdrDC

Iska 04-09-2017 02:14 2762362

Ну, если надо именно так — не текущий каталог, а каталог скрипта — то придётся по-другому.
Код:

AutoItSetOption("MustDeclareVars", 1)

Local $oFSO = ObjCreate("Scripting.FileSystemObject")
Local $oFile

For $oFile In $oFSO.GetFolder(@ScriptDir).Files
        If StringRegExp($oFile.Name, "AcroRdrDC\d+_ru_RU\.exe") = 1 Then
                Run('"7z.exe" e "' & $oFSO.BuildPath(@ScriptDir, $oFile.Name) & '" -o"' & $oFSO.BuildPath(@ScriptDir, 'AcroRdrDC') & '"')

                ExitLoop
        EndIf
Next

Exit(0)



Время: 16:44.

Время: 16:44.
© OSzone.net 2001-