■早く WindowsXP を止めろってことなのか、
WindowsXP で作成したショートカットを Windows7 で開けないという現象が発生しました。
Win7 でショートカットファイルのプロパティを見ると、リンク先の欄が空白になっています。もちろんWinXP では適切です。
ネットで調べても解決策が見つからなかったので、ショートカットを作成する VBスクリプトを作ってみました。このスクリプトで作成したショートカットは WinXP でも Win7 でも開けます。とりあえずこれでしのぎます。
VBスクリプトなんて作成したことがないので、ネットで調べながら作ってみました。結果オーライと言うことで。
ソース:
' ファイルおよびフォルダのショートカット作成
'
' 使用方法:
' ショートカットを作成したいファイル、フォルダをこのスクリプトファイル上へ
' ドラッグ&ドロップしてください。デスクトップ上にショートカットを作成します。
set objShell = WScript.CreateObject("WScript.Shell")
set objFS = WScript.CreateObject("Scripting.FileSystemObject")
set objArgs = Wscript.Arguments
filecount = objArgs.Count
if filecount < 1 then
WScript.Echo "ショートカットを作成するファイルをドラッグ&ドロップしてください。"
WScript.Quit
end if
strDesktop = objShell.SpecialFolders("Desktop")
strLogMessage = ""
for each strPathName in objArgs
if objFS.FileExists(strPathName) or objFS.FolderExists(strPathName) then
strFileName = objFS.GetBaseName(strPathName)
strExtName = LCase(objFS.GetExtensionName(strPathName))
if strExtName <> "" then
strFileName = strFileName & "." & strExtName
end if
strShortCutName = strDesktop & "\" & strFileName & "へのショートカット.lnk"
set objShortCut = objShell.CreateShortcut(strShortCutName)
objShortCut.TargetPath = strPathName
objShortCut.Save
strLogMessage = strLogMessage & " " & strFileName & vbCrLf
end if
next
' WScript.Echo "次のファイル/フォルダのショートカット" & _
' filecount & "個をデスクトップに作成しました。" & vbCrLf & _
' strLogMessage