1 (изменено: serzh82saratov, 2013-03-24 10:13:46)

Тема: CMD/BAT: Как в ярлыке указать папку в виде переменной

Собственно вопрос: возможно ли в обычном ярлыке windows, указать путь к папке в которой находится сам ярлык в виде переменной?
Может вопрос не по профилю ветки, но есть подозрение что он связан с переменными используемыми в CMD/BAT.
В результате нужно создать ярлык в папке с объектом, и потом иметь возможность переносить папку куда угодно, не "трогая" в дальнейшем свойства ярлыка.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

В голову приходят только переменные среды.

3

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

ypppu пишет:

В голову приходят только переменные среды.

Не наводит на мысли.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

В смысле есть переменные среды, например %windir%. Ассоциация между этой переменной и точным путём прописывается в системе. Ассоциации можно изменять, тогда один и тот же ярлык будет вести в разные папки.

5

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

ypppu пишет:

Ассоциации можно изменять

Ничего непонял. Как же всё таки записать-то?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Св.-ва компютера --> дополнительно  --> Переменные среды --> Создать. Тут прописываем Имя переменной = myvar, значение переменной = C:\myfolder1.
Затем ПКМ на рабочем столе  --> Создать  --> Ярлык. Размещение объекта = myvar. Готово. Ярлык ведёт в папку C:\myfolder1.
Теперь меняем ассоциацию Имя переменной = myvar, значение переменной = C:\myfolder2. Видим, что ярлык ведёт в папку C:\myfolder2, хотя ярлык мы не трогали.

7

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Немного-совсем не то. Мне нужно чтобы пользователь папку на своём ПК переносил куда угодно.
А вы предлагаете на своём, и каждый раз менять переменную среды.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Я-то отвечал на первое сообщение. Теперь оно изменилось. То, что Вам нужно, вроде бы называется "относительный путь". Не знаю, возможно ли его прописать в ярлык (*.lnk).

9

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Хотя бы сделать батник. Этот:

@echo off  
"%~dp0\объект"

запускает окно консоли.

Или на чём подобном можно написать?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

А почему сам объект не запускать? В чём общий замысел состоит?
В батнике можно использовать команду start, тогда консоль будет только мелькать на короткое время.


start prog.exe

Или в ярлыке прописать:


%comspec% /c start prog.exe

11

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

YMP пишет:

В чём общий замысел состоит?

Есть папка с программой которая будет находится незнамо где. В ней будет экзешник и файлы который он должен запускать. Нужно поместить в папку запускающие ярлыки типа: %ScriptDir%\экзешник "%ScriptDir%\файл". То есть всё это дело должно в портативном режиме работать.

YMP пишет:

В батнике можно использовать команду start, тогда консоль будет только мелькать на короткое время.

мелькание не вариант.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

serzh82saratov пишет:

Собственно вопрос: возможно ли в обычном ярлыке windows, указать путь к папке в которой находится сам ярлык в виде переменной?

.
%windir%\explorer.exe . откроет папку с файлом в новом окне, %windir%\explorer.exe .\1.ahk откроет файл 1.ahk в папке с ярлыком программой по-умолчанию.

13

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Спасибо. Но программы по-умолчанию нет.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14 (изменено: serzh82saratov, 2013-03-24 17:36:41)

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

%windir%\explorer.exe .\AutoHotkey.exe "Параметр"

Хмм... А может можно ещё и параметр с путём к файлу в этой же папке добавить? Экзешник то, запускается.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Можно JScript или VBScript использовать, там ничего не мелькает. Например, на JScript:


sh = new ActiveXObject("WScript.Shell");
sh.Run("prog.exe folder\\file.ext");

16

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Можно JScript или VBScript использовать

Ни разу не сталкивался, файл с каким расширением должен быть?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

17

Re: CMD/BAT: Как в ярлыке указать папку в виде переменной

Расширение .js
YMP
Спасибо! То что надо.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui