我目前正在尝试找出perl的Win32::Shortcut
模块,以及如何使用所述模块更改快捷方式路径。这是针对个人项目的,我计划使用此脚本管理快捷方式
#!/usr/local/bin/perl
use Win32::Shortcut;
use strict;
my $LINK;
$LINK = new Win32::Shortcut();
$LINK->Load("C:\\Users\\Jimbo\\Desktop\\VLC media player.lnk");
$LINK->{'Path'} = "http://www.google.com//";
$LINK->Save();
$LINK->Close();
脚本运行没有问题,但是当我点击我加载的快捷方式时,它会打开VLC媒体播放器而不是google.com。
答案 0 :(得分:3)
您应该为程序的每一步添加错误检查:
#!/usr/local/bin/perl
use Win32::Shortcut;
use strict;
use warnings;
my $link = new Win32::Shortcut();
$link->Load("C:\\Users\\Public\\Desktop\\test.lnk") or die "$! ($^E)";
$link->{'Path'} = "http://www.google.com//";
$link->Save() or die "$! ($^E)";
$link->Close() or die "$! ($^E)";
在上面的示例中,我能够在公共桌面上找到该链接而不是我的用户链接,但由于权限No such file or directory (Access is denied)
,它再次失败。
答案 1 :(得分:1)
它可能看似成功,但您没有包含任何错误检查。试试这个:
$LINK->Load("C:\\Users\\Jimbo\\Desktop\\VLC media player.lnk") or die "$! ($^E)";