evgmim
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Так ладно. Давайте с самого начала. Задача: Создать файл, который бы запускал программу с параметрами, используя относительные пути. Программа может располагаться на любом диске, в любой папке и т.п. Поэтому нужны ОТНОСИТЕЛЬНЫЕ пути. Для конкретики: программа TOTALCMD.EXE, располагается в папке с файлом. Параметры командной строки: /i="USERS\DEFAULT\wincmd.ini" /f="USERS\DEFAULT\ftp.ini" для запуска настроек по адресам .\USERS\DEFAULT\wincmd.ini и .\USERS\DEFAULT\ftp.ini В WinXP был трюк shell32.dll, который не работает в Win7x64+ В теме было предложено изначально два варианта. 1. Через %windir%\explorer.exe – не понимаю, как передать параметры для запуска TOTALCMD.EXE. 2. Через bat-file (%comspec% /c cd /d "" start). Здесь можно передать параметры, но проблема в том, что мне не нравится окно с командной строкой, которое появляется на секунду. Предложенные модификации после моего сообщения. 1. Запуск bat файла через ярлык, с параметром «в свёрнутое в значок». Просто так это не сделаешь, поскольку по-умолчаню ярлык создает АБСОЛЮТНЫЕ пути, а запуск через %windir%\explorer.exe что «TOTALCMD.EXE» не найден, поскольку адресация идет относительно %windir% если я правельно понимаю. 2. Вызов не командной строки, а runwait. Через bat-файл Код: @echo off runwait.exe /hide cmd /c start /b TOTALCMD.EXE /i=".\USERS\DEFAULT\settings.ini" /f=".\USERS\DEFAULT\internet.ini" | Окно при запуске bat файла всё равно появляется. (Если запускать через ярлык, то найти runwait.exe не получится, потому как запуск опять из %windir%) 3. Код: %comspec% /c cd /d TC && for %d in (%ALLUSERSPROFILE%\) do start "" TOTALCMD.EXE /i=%dwincmd.ini /f=%dftp.ini | Явно не позволяет запустить из любой папки/диска... |