2012年10月27日

Window7でXPで作ったショートカットが開けない

■早く 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
posted by ピカリ入道 at 19:04| Comment(0) | TrackBack(0) | コンピュータ
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/59566458

この記事へのトラックバック