请问这个代码怎么将拖拽执行改为指定路径执行,在哪里进行修改呢?- Dim ws,fs,rootFolder,message, _
- cLog,LogName, _
- EmptyFolder,TempFolder
- Set osh = CreateObject("WScript.Shell")
- set fso = CreateObject("Scripting.FileSystemObject")
- cLog = True '是否生成日志文件
- LogName = WScript.ScriptFullName & "_" & Replace(Replace(FormatDateTime(Now(),vbGeneralDate),"/","-"),":","-") & ".log" '日志名称
- EmptyFolder = "(_Empty)" '空文件夹存放点
- TempFolder = "(_Temp)" '转移用临时存放点
-
- If WScript.Arguments.Count<1 Then
- WScript.Echo "请把需要缩减的父文件夹拖到本脚本上运行(既使用参数方式提供路径)"
- WScript.Quit
- ElseIf LCase(Right(WScript.FullName,11)) = "wscript.exe" Then
- osh.run "cmd /c cscript.exe //nologo """ & WScript.ScriptFullName & """ """ & WScript.Arguments(0) & """"
- WScript.quit
- End If
-
- 'End If
-
-
- '搜寻文件夹迭代函数
- Function FindChildren(FolderPath)
- set iFolder = fso.GetFolder(FolderPath) '获取文件夹
- set iSubFolders = iFolder.SubFolders '获取子目录集合
- set iFiles = iFolder.Files '获取文件集合
- If iFiles.Count= 0 And iSubFolders.count = 1 Then '如果只有一个文件夹
- For each Cfolder in iSubFolders '迭代调用本函数
- FindChildren = FindChildren(Cfolder)
- Exit For
- Next
- ElseIf iFiles.Count> 0 Or iSubFolders.count > 1 Then '如果有文件或者两个及以上文件夹则为最内层
- FindChildren = FolderPath
- Else '什么都没有的空文件夹
- FindChildren = "empty"
- End if
- End Function
-
- '是否符合正则表达式
- Function RegExpTest(strng, patrn)
- Dim regEx ' 创建变量。
- Set regEx = New RegExp ' 创建正则表达式。
- regEx.Pattern = patrn ' 设置模式。
- regEx.IgnoreCase = True ' 设置是否区分大小写,True为不区分。
- regEx.Global = True ' 设置全程匹配。
- RegExpTest = regEx.Test(strng) ' 执行搜索。
- Set regEx = Nothing
- End Function
-
-
- If WScript.Arguments.Count<1 Then
- rootFolder = osh.CurrentDirectory '当前程序所在目录
- Else
- rootFolder = WScript.Arguments(0) '将第一个参数存入
- End If
复制代码
|