Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


sweetpleasure, батник и так прекрасно распознает drag-n-drop, полный путь к файлу передается в переменной %1. Проблема в другом, батник стартует с рабочей директорией в профиле пользователя, что очень не удобно, если обвязка (архиватор, etc.) не прописана в Path.
В этом примере показано, как сменить рабочую директорию на ту, в которой находится батник, или ту, в которой находится перетягиваемый файл
Код: Выделить весь код
@Echo Off
:: Рабочая директория. При drag-n-drop скрипт стартует с рабочей директорией
:: в %UserProfile%, что совсем не хорошо. Здесь можно выбрать, что будет являться
:: рабочей директорией: self - директория со скриптом, или target - директория с
:: перетягиваемым файлом
Set WorkDir=target

If Not "%~1"=="" (If %WorkDir%==target CD /D "%~dp1")
If Not "%~1"=="" (If %WorkDir%==self CD /D "%~dp0")

Echo Рабочая директория - [%CD%]
Echo Файл - [%~nx1]
Pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:37, 28-05-2012 | #11