パスワードを忘れた? アカウント作成
663651 journal

securecatの日記: HTAにドラッグ&ドロップする 1

日記 by securecat

HTAに足りないものより

WSHはドラッグアンドドロップしたファイルを引数として取り出せるんです。(WScript.Arguments)それなのにHTAでできないのは寂しいなと、それだけ。

とりあえず、そういうレジストリを登録しておけば、ドラッグアンドドロップできるようになります。

REGEDIT4

[HKEY_CLASSES_ROOT\htafile\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

こんなやつ。

で、ファイルとかをドラッグアンドドロップしてやると、バックアップをとって終了するという、テキトーなスクリプトだとこんな感じに:

Option Explicit

Dim oRegEx, fso

Set fso = CreateObject("Scripting.FileSystemObject")
Set oRegEx = New RegExp

oRegEx.IgnoreCase = True
oRegEx.Global = True

Sub window_onload
    Dim oMatches
    Dim i, s, t, f
    t = Now()
    t = Year(t) & Month(t) & Day(t) & "-" & Hour(t) & Minute(t) & Second(t)
    oRegEx.Pattern = "(?:"".+?"")|(?:\S+)"
    Set oMatches = oRegEx.Execute(HTA.commandLine)
    f = False
    For i = 0 To oMatches.Count - 1
        If i > 0 Then
            f = True
            s = Replace(oMatches(i),Chr(34),"")
            If fso.FileExists(s) Then
                fso.CopyFile s, s & "." & t & "." & fso.GetExtensionName(s)
            ElseIf fso.FolderExists(s) Then
                fso.CopyFolder s, s & "." & t
            End If
        End If
    Next
    If f Then
        Window.Close
    End If

    Set oMatches = Nothing
    Set oRegEx = Nothing
    Set fso = Nothing
End Sub

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2003年09月05日 17時13分 (#392232)
    そういう手がありましたか、知りませんでした。
    参考になりました。
    ----
    nero
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...