Last-modified: 2011-07-24 (日) 14:59:03 (4875d)

 ExplorerのContext Menuに表示される「SendTo(送る)」フォルダの項目を選択することで、ファイルやフォルダの移動ができたらちょっと便利かも、と思ってWSHで作ってみました。
 当vbsファイル自体か、そのshortcutをSendToフォルダに置くと使えます。

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

 レジストリ追加だけで、コンテキストメニューに「フォルダへ移動」を追加できるようだ。「動作が確実」「プログラム追加不要」「前回指定した移動先フォルダを覚える」点で、こちらの方が好いですね。上記スクリプトは却下。


添付ファイル: fileMoveTo.vbs 7219件 [詳細]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS