フルパス取得スクリプト.vbs
‘フルパス取得スクリプト
‘概要:選択したファイルのフルパスをクリップボードにコピーする
‘20070309作成
‘20070510改修:ショートカットの場合、ショートカット先を取得する機能を追加
Set WSHShell = WScript.CreateObject(“WScript.Shell”)
Set arg = WScript.Arguments
Set Fs = WScript.CreateObject(“Scripting.FileSystemObject”)
if arg.length=1 then
‘単体の場合、
files= getPath(arg(0))
else
‘複数ファイルの場合、
for i=0 to arg.length-1
files = files & getPath(arg(i)) & vbCrLf
next
end if
‘クリップボードに取得した情報を格納する。
‘WSH単体ではクリップボードへのアクセスはできないため、IEを仲介する。
Set objIE = CreateObject(“InternetExplorer.Application”)
objIE.Navigate(“about:blank”)
strURL = objIE.document.parentwindow.clipboardData.GetData(“text”)
ObjIE.Document.parentWindow.clipboardData.setData “text”,files
objIE.Quit
function getPath(fl)
‘引数として渡されたファイルから、フルパスを取得する。
if Fs.GetExtensionName(fl)”lnk” Then
’通常のファイルの場合
getPath=Fs.GetAbsolutePathName(fl)
else
’ショートカットの場合
If MsgBox(Fs.GetFileName(fl) & vbCrLf _
& “はショートカットです。” & vbCrLf _
& “ショートカット先のパスを取得しますか?”,vbYesNo) = vbYes Then
Set Sc = WSHShell.CreateShortcut(fl)
getPath= Sc.TargetPath
Set Sc = Nothing
Else
getPath=Fs.GetAbsolutePathName(fl)
End if
End if
end function