ExplorerのContext Menuに表示される「SendTo(送る)」フォルダの項目を選択することで、ファイルやフォルダの移動ができたらちょっと便利かも、と思ってWSHで作ってみました。
当vbsファイル自体か、そのshortcutをSendToフォルダに置くと使えます。
*** MoveTo.vbs [#z51bb161]
#ref(MoveTo.vbs);
'
' 引数で指定されたファイル・フォルダを
' フォルダ選択ダイアログで選択したフォルダへ移動する。
' 当ファイル自体かそのshortcutを、SendToフォルダに置くと便利かも。
'
' @author Jomora( kazuhiko@jomura.net http://jomura.net )
' @version 2011.07.17 初版作成
'**Start Encode**
Dim objShell ' Shell オブジェクト
Dim objFSO ' FileSystem オブジェクト
Dim objFolder ' 移動先フォルダ
Set arg = WScript.Arguments
If arg.Count = 0 Then
WScript.Quit
End If
Set objShell = WScript.CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "移動先フォルダを選択してください。", 0, 17)
If objFolder Is Nothing Then
WScript.Quit
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
For i=0 to arg.Count - 1
' WScript.Echo arg(i) & " -> " & objFolder.Items.Item.Path & "\"
If objFSO.FolderExists(arg(i)) Then
'フォルダを移動
objShell.Namespace(objFolder.Items.Item.Path).MoveHere objShell.NameSpace(arg(i))
ElseIf objFSO.FileExists(arg(i)) Then
'ファイルを移動
objFSO.MoveFile arg(i), objFolder.Items.Item.Path & "\"
End If
Next
Set objFolder = Nothing
Set objFSO = Nothing
Set objShell = Nothing
*** 追伸 2011/07/14 [#jd8164a6]
[[レジストリ追加だけで、コンテキストメニューに「フォルダへ移動」を追加できる:http://www.itmedia.co.jp/help/tips/windows/w0509.html]]ようだ。「動作が確実」「プログラム追加不要」「前回指定した移動先フォルダを覚える」点で、こちらの方が好いですね。上記スクリプトは却下。