美文网首页
VBS 每个月自动创建文件夹并在桌面创建它的快捷方式

VBS 每个月自动创建文件夹并在桌面创建它的快捷方式

作者: Abbott思宇 | 来源:发表于2018-01-06 12:59 被阅读0次

    背景

    在工作中,总是会产生一些暂时不想删除的文件。QQ等聊天工具也会不断的接受一些文件,大部分情况都会在1-2个月后变得不那么重要,而需要删除调。

    那么,我的做法是,创建一个临时文件夹按年,按月在里面创建子文件夹,然后把这类文件放进去,不定期进去清理一下。

    为了方便,把这个临时文件夹创建一个快捷方式放在桌面上。

    工具说明

    • 这个工具按年/月在指定的路径(TARGET_PATH)下,创建一个文件夹,用以存放各种"临时文件"。
    • 自动创建当月的文件夹的快捷方式到桌面

    其他

    需要在"任务计划"中设置一个周期性定时任务,每个月第一个工作日在开机以后自动执行一下这个脚本

    '===================================================
    ' # 背景
    '
    ' 在工作中,总是会产生一些暂时不想删除的文件。QQ等聊天工具也会不断的接受一些文件,大部分情况都会在1-2个月后变得不那么重要,而需要删除调。
    '
    ' 那么,我的做法是,创建一个临时文件夹按年,按月在里面创建子文件夹,然后把这类文件放进去,不定期进去清理一下。
    '
    ' 为了方便,把这个临时文件夹创建一个快捷方式放在桌面上。
    '
    ' # 工具说明
    '
    ' + 这个工具按年/月在指定的路径(TARGET_PATH)下,创建一个文件夹,用以存放各种"临时文件"。
    ' + 自动创建当月的文件夹的快捷方式到桌面
    '
    ' # 其他
    '
    ' 需要在"任务计划"中设置一个周期性定时任务,每个月第一个工作日在开机以后自动执行一下这个脚本
    '
    '===================================================
    
    const TARGET_PATH = "D:\temp"
    const LINK_FILE_NAME = "TEMP"
    
    const SEPARATOR = "\"
    
    Dim desktopPath
    desktopPath = getDesktopPath()
    
    Dim linkFile 
    linkFile = desktopPath & LINK_FILE_NAME & ".lnk"
    
    Dim targetFolder
    targetFolder = TARGET_PATH & "\" & Year(Now()) & "\" & Right("0" & Month(Now()), 2)
    
    If Not IsExitFolder(targetFolder) Then
        CreateFolder targetFolder
    End If
    
    CreateLink targetFolder, linkFile
    
    '===================================================
    
    Function getDesktopPath()
        Set shell = CreateObject("WScript.Shell")
        getDesktopPath = shell.SpecialFolders(4)&"\"
        Set shell = Nothing
    End Function
    
    Function IsExitFolder(folder)
        Set fso = CreateObject("Scripting.FileSystemObject")
        If fso.folderExists(folder) Then
            IsExitFolder = True
        Else
            IsExitFolder = False
        End If
        
        Set fso = Nothing
    End Function
    
    Function CreateFolder(folder)
        Set fso = CreateObject("Scripting.FileSystemObject")
        
        Dim pathArr
        pathArr = split(folder, SEPARATOR)
        
        Dim tempPath
        tempPath = pathArr(0)
        For i = 1 to UBound(pathArr)
            tempPath = tempPath & SEPARATOR & pathArr(i)
            If not IsExitFolder(tempPath) then
                fso.CreateFolder(tempPath)
            End If
        Next
        
        Set fso = Nothing
    End Function
    
    Function CreateLink(targetFolder, linkFile)
        Set shell = WScript.CreateObject("WScript.Shell")
    
        Set lnk = shell.CreateShortcut(linkFile)
        lnk.TargetPath = targetFolder
        lnk.IconLocation = "%SystemRoot%\system32\shell32.dll , 4"
        lnk.save
        Set lnk = Nothing
        
        Set shell = Nothing
    End Function
    

    相关文章

      网友评论

          本文标题:VBS 每个月自动创建文件夹并在桌面创建它的快捷方式

          本文链接:https://www.haomeiwen.com/subject/uzhynxtx.html