放置庫

とりあえず手を出してみる。

フルパス取得スクリプト.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