Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Ярлык для bat

Ответить
Настройки темы
CMD/BAT - Ярлык для bat

Аватара для Sisin

Старожил


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

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


Некоторые batники было бы удобно запускать ярлыком, но к сожалению не всегда они срабатывают из-за того, что меняются пути при запуске ярлыка.
Т.е. запуская сам batник все работает, запуская его через ярлык - нет.

Есть ли какое-нибудь универсальное решение для таких случаев??

Отправлено: 12:31, 29-05-2019

 

Ветеран


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

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


Например этот bat сначала проверяет есть ли вокруг себя ярлык с таким же именем и если нет создает? Но это произойдет в момент запуска bat, а запускать его надо ярлыком, т.е. ярлык уже должен быть или контроль должен делать какой-то другой процесс постоянно запущенный или запущенный с момента создания определенного (по имени, например) bat.
При перемещении bat относительно ярлыка в пределах диска ярлык запустит этот bat, иначе вы и сами должны понять что надо создавать ярлык заново.
Теперь попробуйте еще раз уточнить задачу.

Отправлено: 13:27, 29-05-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Sisin:
Некоторые batники было бы удобно запускать ярлыком, но к сожалению не всегда они срабатывают из-за того, что меняются пути при запуске ярлыка.
Т.е. запуская сам batник все работает, запуская его через ярлык - нет. »
И здесь попробую стелепатировать
Рабочий каталог в ярлыке надо задать, для уверенной работы батника... это и будет %cd% для него, когда файлы будете на ярлык дропить
Ну, а если хочется, чтобы файлы складывались туда же, где они и находятся, то код сделайте таким:
Код: Выделить весь код
@echo OFF  
for %%i in (%*) do (
	set "file=%%~nxi"
	set "fld=%%~dpi"
	call :sub
)  
pause&exit /b

:sub
"C:\12\program.exe" /F "%file%" /D "%fld:~0,-1%" /T 2 /DW"  
exit /b

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:09, 29-05-2019 | #3


Аватара для Sisin

Старожил


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

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


Цитата YuS_2:
И здесь попробую стелепатировать »
Меня это уже пугает :D

Цитата YuS_2:
Ну, а если хочется, чтобы файлы складывались туда же, где они и находятся, то код сделайте таким: »
Я потестил и не понял чем отличается от предложенного Вами ранее:

Код: Выделить весь код
@echo OFF  
for %%i in (%*) do (  
"C:\12\" /F "%%~nxi" /D "%cd%" /T 2 /DW"  
)  
exit
И тот и другой вроде работают одинаково.

Отправлено: 14:14, 29-05-2019 | #4


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Sisin:
не понял чем отличается »
Чтобы было понятно в чем отличие:
Код: Выделить весь код
@echo off
echo CD:     "%cd%"
for %%i in (%*) do (
	set "file=%%~nxi"
	set "fld=%%~dpi"
	call :res
)
pause&exit /b

:res
echo folder: "%fld:~0,-1%"
echo file:   "%file%"
exit /b
- пробуйте дропнуть файл из другого каталога, отличного от того, где лежит пакетник, непосредственно на сам файл сценария и на ярлык для этого сценария.

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:36, 29-05-2019 | #5


Аватара для Sisin

Старожил


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

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


Только если я делаю батник:
Код: Выделить весь код
@echo OFF  
for %%i in (%*) do (
	set "file=%%~nxi"
	set "fld=%%~dpi"
	call :sub
)  
pause&exit /b

:sub
"C:\12\program.exe" /F "%file%" /D "%fld:~0,-1%" /T 2 /DW"  
exit /b
и кладу его по адресу D:\35\1.bat, делаю ярлык на рабочий стол и закидываю на него файл с подключенной флешки, батник не срабатывает. (Я выставлял рабочий каталог на ярлыке и оставлял по умолчанию)

Отправлено: 15:05, 29-05-2019 | #6


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Sisin:
и кладу его по адресу D:\35\1.bat, делаю ярлык на рабочий стол и закидываю на него файл с подключенной флешки, батник не срабатывает. »
Повторил алгоритм с батником из этого поста - всё срабатывает и пути показывает верные.
Тут моей телепатии уже не хватает, требуются подробности.
Он совсем не запускается или запускается и вылетает или что?

-------
scio me nihil scire. Ѫ


Отправлено: 15:23, 29-05-2019 | #7


Аватара для Sisin

Старожил


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

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


Путем пальцетыка я понял, что проблема в set "file=%%~nxi".
Заменив на set "file=%%~dpi%%~nxi" все заработало.))))))

Отправлено: 16:01, 29-05-2019 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Ярлык для bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как создать ярлык посредством bat Voron-orel Скриптовые языки администрирования Windows 8 10-10-2019 00:10
Разное - [решено] Ярлык для всех пользователей - Недопустимый ярлык The_Immortal Microsoft Windows 2000/XP 6 01-04-2014 20:45
CMD/BAT - [решено] Создание bat который будет создавать другой bat для создания 3 root13 Скриптовые языки администрирования Windows 5 27-10-2013 15:46
[решено] создать SFX архив, ярлык на раб.стол и запустить bat файл Scorpkoms Автоматическая установка Windows 2000/XP/2003 30 12-03-2011 01:12
Как создать ярлык на сетевой диск в bat файле? AlexKKK Microsoft Windows NT/2000/2003 4 13-12-2007 03:28




 
Переход