|
本帖最后由 9zhmke 于 2020-7-11 10:27 编辑
搞定了,原来退出窗口必须放到跳出循环之前,代码中的c:后面还有个路径斜杠的,被安全检查吃掉了
- Set WshShell=WScript.CreateObject("WScript.Shell")
- Set Shell = CreateObject("Shell.Application")
- dirmode "c:"
- Function dirmode(dir)
- dim explorer,proc,pid,wins,Current,i'定义变量以免与外面程序中重名
- 'WshShell.Run "taskkill /f /im explorer.exe" & dir,0,1'打开用户指定的文件夹,由于打开较慢,不会进入字典
- 'WshShell.Run "explorer.exe ",1,1'打开用户指定的文件夹,由于打开较慢,不会进入字典
- WshShell.Run "explorer.exe " & dir,1,1'打开用户指定的文件夹,由于打开较慢,不会进入字典
- Set Wins = Shell.Windows
- dir=UCase("file:///" & replace(dir,"","/"))
- For i=Wins.Count-1 To 0 step -1'先关闭之前打开的相同文件夹
- Current=LCase(Right(Wins(i).FullName,13))
- If Current = "\explorer.exe" and UCase(Wins(i).LocationURL) = dir Then Wins(i).Quit
- Next
- wscript.sleep 800'等新窗口打开
- For i=Wins.Count-1 To 0 step -1
- If LCase(Right(Wins(i).FullName,13)) = "\explorer.exe" and UCase(Wins(i).LocationURL) = dir Then
- Wins(i).Document.CurrentViewMode = 3 '设置查看方式为缩略图
- '1、2、5、7 缩略图(此状态可Document.IconSize 设置任意大小),16/48/96/256是小/中/大/超大图标
- '3列表,4详细信息,6平铺,8内容
- Wins(i).Document.IconSize = 48
- '设置图标尺寸为 48
- Wins(i).Document.SortColumns = "prop:System.ItemNameDisplay;"'设置排序方式为按修改日期逆序排列
- '为逆序,如 prop:System.ItemNameDisplay; 和 prop:-System.ItemNameDisplay; 减号是相反的顺序
- '名称prop:System.ItemNameDisplay; 修改日期prop:System.DateModified;
- '类型prop:System.ItemTypeText;System.ItemNameDisplay; 大小prop:System.Size;
- Wins(i).Document.GroupBy = "System.Null"'设置分组依据为修改日期
- '名称System.ItemNameDisplay 修改日期System.DateModified
- '无分组 System.Null 类型System.ItemTypeText 大小System.Size
- Wins(i).Quit
- Exit For
- end if
- Next
- End Function
复制代码 |
|