Вызываю _wspawnvpe (не забываю передать переменные окружения) для mklink /J...
Получаю ошибку: No such file or directory
Делаю my-mklink.bat файл:
[code]
mklink %1 %2 %3
set
[code]
вызываю также: my-mklink.bat /J lnk lnk_target
Работает — создает линк, выводит переменные окружения, там и PATH присутствует.
Есть подозрение, что mklink — это встроенная в CMD команда. Попробовал запускать из консоли ручками MKLINK.EXE — запускается. Значит ли это, что это таки внешняя команда? Или просто CMD понимает и такой вариант вызова встроенной команды?
Как быть? Запускать через system? Но там неудобно — нельзя отдельно аргументы задать, только ком строку целиком, нет возможности передать переменные окружения
Здравствуйте, Marty, Вы писали:
M>Есть подозрение, что mklink — это встроенная в CMD команда. Попробовал запускать из консоли ручками MKLINK.EXE — запускается. Значит ли это, что это таки внешняя команда? Или просто CMD понимает и такой вариант вызова встроенной команды?
Занятно. mklink.exe запускается, но файла такого на диске нигде нет…
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re: Странно работает _wspawnvpe - не находит что выполнять
Здравствуйте, Marty, Вы писали:
M> Есть подозрение, что mklink — это встроенная в CMD команда
Так и есть.
M> Как быть? Запускать через system? Но там неудобно — нельзя отдельно аргументы задать, только ком строку целиком, нет возможности передать переменные окружения
Здравствуйте, CaptainFlint, Вы писали:
M>>Есть подозрение, что mklink — это встроенная в CMD команда. Попробовал запускать из консоли ручками MKLINK.EXE — запускается. Значит ли это, что это таки внешняя команда? Или просто CMD понимает и такой вариант вызова встроенной команды?
CF>Занятно. mklink.exe запускается, но файла такого на диске нигде нет…
Здравствуйте, Evgeniy Skvortsov, Вы писали:
M>> Есть подозрение, что mklink — это встроенная в CMD команда
ES>Так и есть.
Интересно, почему mklink.exe тоже работает. На более ранних системах такого поведения вроде не было
M>> Как быть? Запускать через system? Но там неудобно — нельзя отдельно аргументы задать, только ком строку целиком, нет возможности передать переменные окружения
ES>Запускать "cmd.exe /C mklink [параметры]"
ES>Ключ /С — выполняет указанную команду
Забил, сделал таки через system
ES>Ну или напрямую звать CreateSymbolicLink
Не работает, прав не хватает. Я решил использовать junction, даже нарыл сорцы от Руссиновича, но там ужасный сишный код, причесывать мне который стало лень, я решил по простому через mklink /J