2014-04-09 49 views
1

我目前正試圖弄清perl的Win32::Shortcut模塊,以及如何使用上述模塊更改快捷路徑。這是一個個人項目,我打算用這個腳本如何用perl腳本永久更改快捷方式的目標路徑?

#!/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(); 

的腳本運行沒有問題,管理快捷方式,但是當我點擊我加載它的快捷方式,而不是打開google.com的VLC媒體播放器。

回答

1

它可能會成功,但您沒有包括任何錯誤檢查。試試這個:

$LINK->Load("C:\\Users\\Jimbo\\Desktop\\VLC media player.lnk") or die "$! ($^E)"; 
+0

謝謝。我很抱歉給你帶來不便,我只是拿起perl。 – Nicholas

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)

相關問題