如何使用perl脚本永久更改快捷方式的目标路径?

时间:2014-04-09 16:11:10

标签: perl

我目前正在尝试找出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。

2 个答案:

答案 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)";