3

Я пытаюсь создать ярлык в Windows, указывающий на папку, которая еще не существует, на удаленном сервере, на который я не могу записать.

Я пытался создать любой ярлык и перезаписать поле "Цель", но когда я нажимаю "ОК", я получаю ошибку, потому что цель не может быть найдена. Похвально, но я бы хотел отменить это.

Кто-нибудь знает как это сделать?

Я могу программировать (Python), если это необходимо, но мне было интересно, существует ли более простое решение.

3 ответа3

3

Один из простых способов сделать это - создать ярлык, в котором вместо этого используется Проводник.

Например, я только что сделал новый ярлык, и в Windows 7 он запрашивает "местоположение элемента". Я считаю, что это называется Target на Windows XP.

Просто укажите следующее в качестве цели / местоположения:

explorer <desired-dir>

Если кто-то запускает ярлык, а каталог отсутствует, он просто открывает проводник и переходит в каталог по умолчанию.

Если каталог есть, он откроет проводник и успешно перейдет в нужный каталог.

1

Я не думаю, что это возможно - я пытался сделать это, но это не совсем сработало, как ожидалось. Вот что я сделал:

  1. Скачать ярлык (примечание: прямая ссылка для скачивания) с Optimum X.

    Ярлык позволяет создавать, изменять или запрашивать ссылки (ярлыки) оболочки Windows из командной строки. Вы можете экспортировать свойства существующего ярлыка в текстовый файл в.Формат INI.

  2. Используйте следующую команду для создания ярлыка (на данном этапе C:\testfolder не существует):

    shortcut /F:example.lnk /A:C /T:C:\testfolder
    

    Файл lnk создан и имеет все правильные свойства, но пока не работает. Затем я создал C:\testfolder и проверил ярлык. Он вызывает диалоговое окно « Открыть с помощью Windows», но не разрешается как ярлык.

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

Я сомневаюсь, что это поможет с точки зрения решения, но должно по крайней мере намекнуть на то, что это невозможно в прямой форме.

0

Для тех, кто использует Cygwin, я написал скрипт bash, чтобы легко создать ярлык на рабочем столе текущего пользователя.

Он использует ярлык Optimux и является частью ~/.bashrc

$ lnk "C:\fakepath\fakefile.xls"

function lnk #Create shortcut on Windows using Optimux bin
{
    printf "\033c"
    echo -e "This function allows you to create a shortcut (symbolic link) pointing to a non-existing file on MS Windows\nIt requires having 'Shortcut.exe' from Optimum X placed in System32\nPlease note you MUST single or double quote the shortcut path:\n\t.e.g:\tlnk \"C:\\MyFake\\Folder\\Pointingto\\anonexisting.file\""

    if [ -z "$1" ]; then
        echo -e "\nType the filename path and press [ENTER]"
        read -p "Filepath :  " filepath
    else
        filepath="$1"
    fi

    filepath=`cygpath "$filepath"`
    filename=`basename "$filepath"`
    dirpath=`dirname  "$filepath"`
    cmd="shortcut /F:\""$USERPROFILE"\\Desktop\\"$filename".lnk\" /A:C /W:\"`cygpath -w "$dirpath"`\" /T:\"`cygpath -w "$filepath"`\""
    echo "$cmd"
    eval "$cmd"
    echo "File created on your Desktop"
} 

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