LoginSignup
0
0

More than 5 years have passed since last update.

フォルダを監視して、空になったら1ファイルだけ移動する君

Posted at
filemover.hta
<script language="VBScript">
'監視フォルダ
CONST DIR_FROM="C:¥from"
'移動先フォルダ
CONST DIR_TO="C:¥to"
'監視秒数
CONST INTERVAL_SEC=5
</script>

<head>
    <meta charset="Shift-jis">
    <title>FileMover 2017/09/02</title>
</head>
<script language="VBScript">
Option Explicit
dim fso
set fso = CreateObject("Scripting.FileSystemObject")
'main
Sub main
    ' ウィンドウサイズ
    Window.ResizeTo 700,500
    '
    from_check()
    If is_to_empty() = True Then
        move_file
    End If
    ' 指定秒待ってから繰り返す
    Call window.setTimeout("main",INTERVAL_SEC*1000,"VBScript")
End Sub

Sub from_check
    dim folder
    set folder = fso.getFolder(DIR_FROM)

    ' ファイル一覧
    dim file
    document.getElementById("from").innerHTML = DIR_FROM
    for each file in folder.files
        document.getElementById("from").innerHTML = document.getElementById("from").innerHTML & "<br>" &file.name
    next 
End Sub

Sub move_file
    dim folder
    set folder = fso.getFolder(DIR_FROM)

    ' ファイル一覧
    dim file
    for each file in folder.files
        fso.MoveFile DIR_FROM&"¥"&file.name, DIR_TO&"¥"&file.name
        ' toにファイルを一つ移動したら処理を中断
        Exit Sub
    next 
End Sub

' is_to_empty
Function is_to_empty
    dim folder_to
    set folder_to = fso.getFolder(DIR_TO)
    ' ファイル一覧
    dim file
    dim i : i=0
    document.getElementById("to").innerHTML = DIR_TO
    for each file in folder_to.files
        document.getElementById("to").innerHTML = document.getElementById("to").innerHTML & "<br>" &file.name
        i = i+1
    next 
    IF i = 0 Then
        is_to_empty = True
    Else
        is_to_empty = False
    End If
End Function
</script>
<body onLoad="main()">
<!-- 左右に並べる -->
<div id="from" style="display:inline; width:20em;vertical-align:top;"></div>
<div id="to" style="display:inline; width:20em;vertical-align:top;"></div>
</body>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0