Показать полную графическую версию : [решено] Запуск программы по маске
habib2302
03-09-2017, 11:20
Доброе время суток. Как запустить программу по маске. Имеется допустим AcroRdrDC1500720033_ru_RU.exe и с выходом нового релиза версия (сборка) меняется. И мне нужно, чтобы скрипт запускал программу по маске AcroRdrDC*_ru_RU.exe
Запустит первый подходящий файл из текущего каталога, прочие проигнорирует:
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
Iska, а как правильно вставить $oFile.Name между исполняемым файлом допусти 7z.exe и командой для распаковки -oc:\soft
а как правильно вставить $oFile.Name между исполняемым файлом допусти 7z.exe и командой для распаковки -oc:\soft »
Покажите, как выглядит команда, просто с «AcroRdrDC1500720033_ru_RU.exe».
habib2302
03-09-2017, 14:23
7z.exe e @ScriptDir\AcroRdrDC1500720033_ru_RU.exe -o@ScriptDir\AcroRdrDC
Ну, если надо именно так — не текущий каталог, а каталог скрипта — то придётся по-другому.
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)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.