helbvtynec
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Такие дела лучше не батником делать, а через vbs. Никаких лишних окон и некоторые дополнительные удобства возможны. Я давно пользуюсь своим интегрированным в TC VBS-скриптом, генерирующим VBS-пусковики для портабельных программ — по сути как относительный ярлык, но с передачей параметров. Примерно такого вида: Код: '.Run "<command line>", <hidden=0/normal=1/minimized=2 (search intWindowStyle for other)>, <wait True/False> 'Run elevated: CreateObject("Shell.Application").ShellExecute "<target>", "<arguments>", "", "runas", 0 with CreateObject("WScript.Shell") .CurrentDirectory = GetOwnDir() .Run "Wizards\StarBurn.exe" & GetArgs(0), 1, False end with function Wrap(str) if InStr(1,str," ",vbTextCompare) = 0 or Left(str,1)="""" and Right(str,1)="""" then Wrap = str else Wrap = """" & str & """" end if end function function GetArgs(start) args = "" for i = start to WScript.Arguments.Count - 1 args = args & " " & Wrap(WScript.Arguments.Item(i)) next end function function GetOwnDir() path = WScript.ScriptFullName set fso = CreateObject("Scripting.FileSystemObject") set file = fso.GetFile(path) GetOwnDir = fso.GetParentFolderName(file) end function | Тут вся работа — две (или даже одна) строчки внутри with. Достаточно заменить внутри кавычек в Run на нужную вам командную строку с относительными путями, и всё. |