
Я хотел бы сделать следующее:
- Создайте ярлык для папки (напримерmLink.lnk-->С:\tmp)
- Это будет отправлено пользователям по электронной почте.
- Переместите и/или переименуйте папку (С:\tmp-->С:\tmp2)
- Настройте промежуточный шаг для работы предыдущего сочетания клавиш
- По сути, ярлык mLink.lnk, отправленный по электронной почте, затем откроетсяС:\tmp2
Кажется, тыдолжениметь возможность использовать mklink и настроить символическую ссылку на предыдущее местоположение папки (С:\tmp) чтобы затем указать на новое местоположение. В основном имеем следующую настройку:
mLink.lnk --> c:tmp --> c:\tmp2
К сожалению, я не могу создать символические ссылки на сетевом ресурсе, на который я надеюсь иметь эти ярлыки. Я получаю The device does not support symbolic links
ошибку при запуске mklink.
Есть ли другой способ сделать это? Или ограничение на символические ссылки просто не позволяет мне это сделать?
решение1
Хорошо... Во-первых: файл Windows .lnk в принципе является простой строкой с именем папки. Так что по сути вы просто отправляете им некоторую строку, которая автоматически копируется в адресную строку их проводника и открывается (реальная работа немного сложнее, но для ссылки типа C:\tmp происходит следующее)
Во-вторых, Windows обычно не отслеживает эти файлы, потому что они не являются символическими ссылками. Если вы создаете символическую ссылку на своем ПК, где C:\tmp указывает на папку C:\tmp2, это не изменит содержимое LNK-файла. Таким образом, вы отправляете по почте тот же самый файл, что и раньше. Люди будут нажимать на ссылку в своей собственной системе, и, конечно, LNK по-прежнему будет читаться как "C:\tmp", и в их системе ничего не изменится.
Это может работать, если LNK указывает на сетевую папку (например, подключите свободную сетевую папку P:\ к общей папке samba \server1\tmp) и ссылку на этот подключенный диск — так LNK указывает на P:\. Затем, если вы хотите использовать другую временную папку на сервере, просто измените общую папку на сервере, и все пользователи автоматически будут использовать новую папку...
решение2
Было бы проще создать символическую ссылку c:\tmp
, которая изначально будет указывать на c:\tmp1
на сервере. Изменение на tmp2 затем будет выполнено путем удаления c:\tmp
и повторного создания ссылки на c:\tmp2
.
Таким образом, у вас будет только одна ссылка, которая никогда не изменится для пользователей, но которую вы можете изменить на сервере в любое время.
Если это не сработало, значит ваш клиент сетевого ресурса не поддерживает расширение символических ссылок.