1

Скажем, например, я должен был использовать wget на Windows. Если я распаковываю zip-файл, он имеет много зависимостей (dll и т.д.) Теперь, если бы я wget.exe (используя mklink) на мой рабочий стол (я пробовал как с символическими ссылками, так и с жесткими ссылками), он все равно не будет работать без размещения необходимых dll на рабочем столе / ссылки на рабочий стол тоже. Есть ли способ заставить его запускаться с рабочего стола, но "увидеть" зависимости обратно в его собственной папке?

Обратите внимание, что если бы я должен был создать ярлык для wget.exe на моем рабочем столе, я мог бы легко вызвать его из командной строки с рабочим столом в качестве местоположения, и он работает как положено, но я должен запустить wget.exe.lnk , Можно ли заставить символическую ссылку вести себя так (без .lnk конечно)?

Спасибо!

1 ответ1

1

Краткий ответ: Нет.

Для справки, это даже не работает в Linux/Unix, где символические ссылки являются нормой. В любой среде командной строки, если двоичный файл имеет зависимости, они должны находиться либо в текущем рабочем каталоге, либо в одном из каталогов в переменной PATH.

В вашем случае вы могли бы жестко связать каталог с вашим рабочим столом, но вам все равно пришлось бы вставить в него CD из командной строки, прежде чем вы запустили wget.exe.

Единственная альтернатива - перекомпилировать wget.exe и статически связать его с необходимыми DLL-файлами (так как это открытый исходный код). Таким образом, вам не понадобятся эти .dlls, а wget.exe будет автономным исполняемым файлом. Шаги для этого в Windows, однако, немного выходят за рамки SuperUser.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .