securecatの日記: HTAにドラッグ&ドロップする 1
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
なるほど (スコア:0)
参考になりました。
----
nero