日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【VBS】超级实用小实例:仅用数字编号打开任意指定文件夹(超超超级全面指南)

發布時間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【VBS】超级实用小实例:仅用数字编号打开任意指定文件夹(超超超级全面指南) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【VBS】實用鏈接指南

  • Hello World!
    • 1、目的
    • 2、需求分析
    • 3、舉例
    • 4、思路
  • 一、上手編程語言初步
    • (一)Visual Basic快速入門
    • (二)簡潔的代碼編輯器推薦
      • 1. Sublime Text 下載
      • 2. VB代碼語法高亮設置
      • 3. 中文亂碼或報錯解決
  • 二、創建最簡單的窗口
    • (一)教你用怎么vbs寫一個簡易的對話框
    • (二)vbs輸入框和消息框
    • (三)VBS中InputBox函數的返回值使用技巧
  • 三、常見問題與操作
    • (一)VBS腳本一行代碼太長,使用換行符
    • (二)vbs執行顯示中文亂碼怎么辦
  • 四、APIs
    • (一)大佬的博客
      • 1. 測試開發技術—VBS隨筆
    • (二)字符串操作
      • 1. VBS中常見字符串操作函數
      • 2. vbs vbscript 中的回車換行符號 等特殊字符
    • (三)數組
    • (四)文件文件夾操作
      • 1. VBS對文件文件夾操作的例子
  • 五、產品其他完善度相關
    • (一)“正規軟件外形”
      • 1、怎么修改桌面快捷方式圖標
      • 2、怎樣把一般的圖片變成圖標格式
  • 后記:小項目現狀
    • v1.0 純粹面向過程編程源碼
    • v2.0 純粹面向過程編碼,良好函數抽象封裝
      • 1、架構圖
      • 2、源碼
    • v4.0 自動化獲取vbs文件所在文件夾目錄層次結構,代替了手動輸入文件夾名稱數組的硬編碼(我的同事正在使用這一個比較穩定的版本)
    • v4.1 在v4.0基礎上,增加了夸獎人的隨機形容詞功能
    • v5.0 增加了自動獲取并顯示文件夾名稱結構層次的顯示功能

注意:僅限Windows系統!

Hello World!

桌面新建個txt文本,打開寫上如下內容:

msgbox "Hello World!"

保存,文件后綴再改為“vbs”即可執行,
(如果沒有顯示后綴名,自行百度解決)
雙擊運行,
完美的Windows系統上的迷你小窗口!
內容就是:

Hello World!

簡單的要命,有木有,哈哈哈!

1、目的

Windows系統上用最簡單的方法直接創建窗口程序,
需要有常見編程語言的語法基礎。
我之前沒有學過vbs,
但本身是軟件工程專業科班生,
具有一定的其他多種語言的編程基礎。
先有實踐的問題,再想解決問題,而出現的此文章,
并不是憑空捏造的問題與文章及程序。

2、需求分析

一個盤里的文件名字開頭全有10以內數字編號開頭,
要求彈出窗口輸入一串數字編號,
便可以打開指定文件夾。
(程序是小事,
實際上如何給每個人電腦上所有文件夾合適的分類
才是根本問題!)

3、舉例

彈出交互窗口輸入“122”,點擊確認,
即可打開文件夾地址為:
“E:\工作\1、人事\2、培訓\2、實習期”。
其中,后面的頓號和漢字是任意的,
只關注文件名前面的數字即可。

4、思路

以需求的解決邏輯和一步步遇見的問題為思路,
去逐步百度搜索。
以下提供的所有的鏈接,
都是只要解決問題就可以,
幾乎都不用全部瀏覽。

有編程基礎的會上手的很快。

一、上手編程語言初步

(一)Visual Basic快速入門

https://blog.csdn.net/achenyuan/article/details/83987056

如果有其他編程語言基礎,這個不用看,當做語法工具書查閱即可。

(二)簡潔的代碼編輯器推薦

Sublime Text 3
我一開始用的Notepad++,
可惜玩了半天突然不支持VB的語法高亮了???
又問度娘搜到了這個,非常棒!

1. Sublime Text 下載

地址:https://www.sublimetext.com/

2. VB代碼語法高亮設置

(后來我又找不到VB了,用ASP也行)

3. 中文亂碼或報錯解決

sublime text 3支持GBK編碼
https://www.cnblogs.com/wxdblog/p/7992854.html

二、創建最簡單的窗口

(一)教你用怎么vbs寫一個簡易的對話框

https://jingyan.baidu.com/article/22fe7cedd478133002617f23.html
注意: 中文可能報錯或亂碼,粗暴解決,用英文即可。

(二)vbs輸入框和消息框

https://jingyan.baidu.com/article/9f63fb91492403c8410f0e4b.html

(三)VBS中InputBox函數的返回值使用技巧

https://www.jb51.net/article/26809.htm

三、常見問題與操作

(一)VBS腳本一行代碼太長,使用換行符

http://www.51testing.com/html/85/87885-17546.html

(二)vbs執行顯示中文亂碼怎么辦

https://jingyan.baidu.com/article/95c9d20d81c67dad4f756111.html

四、APIs

(一)大佬的博客

1. 測試開發技術—VBS隨筆

https://www.cnblogs.com/jinjiangongzuoshi/category/491750.html
其中的:VBS基礎篇 - 對象(1) - Class對象
用來學習面向對象形式的寫法還挺不錯的!!!

(二)字符串操作

1. VBS中常見字符串操作函數

https://www.jb51.net/article/159913.htm

2. vbs vbscript 中的回車換行符號 等特殊字符

https://www.dazhuanlan.com/2020/06/02/5ed645c962d9a/

(三)數組

動態數組:https://www.jb51.net/article/141114.htm

(四)文件文件夾操作

1. VBS對文件文件夾操作的例子

http://www.360doc.com/content/14/0606/15/219800_384287850.shtml
(五)vbs如何獲取當前時間日期
http://www.jquerycn.cn/a_9237

五、產品其他完善度相關

將自己的vbs文件放到磁盤中合適的文件中,
然后右擊發送到桌面快捷方式。
然后桌面就有快捷方式了,
它的圖標是可以隨意改變的,
可用其他圖片,或自行設計圖片。

詳細步驟參考如下:

(一)“正規軟件外形”

1、怎么修改桌面快捷方式圖標

百度經驗鏈接

2、怎樣把一般的圖片變成圖標格式

推薦這個:轉轉大師,在線的,鏈接如下:
http://pdftoword.55.la/img2icon/

后記:小項目現狀

v1.0 純粹面向過程編程源碼

' ' 候帥洲 ' ' 手機和微信:175 3102 3301 ' ' 此小項目CSDN詳解博客地址:https://blog.csdn.net/weixin_44591035/article/details/113667614 ' ' ' ' 1、需求分析 ' 一個盤里的文件名字開頭全有10以內數字編號開頭, ' 要求彈出窗口輸入一串數字編號,便可以打開指定文件夾。 ' ' 2、舉例 ' 彈出交互窗口輸入“122”,點擊確認, ' 即可打開文件夾地址為: ' “E:\工作\1、人事\2、培訓\2、實習期”。 ' 其中,后面的頓號和漢字是任意的, ' 只關注文件名前面的數字即可。 ' ' 3、目前進度 ' 以硬編碼實現了第一個實用版本(v1.0:純粹面向過程編碼) ' 已經可以投入現實使用了,一位美女同事已經用上了 ' 以后逐漸慢慢迭代版本吧' 一、初始化與主窗口創建' (一)定義變量與初始化' 1. 定義和初始化目錄結構 ' (1)先硬編碼根目錄 dim strRootDir strRootDir = "E:\工作\"' (2)先硬編碼所有分目錄 dim idDirArr idDirArr = Array( _"1", "1、人事", _"2", "2、顧問", _"3", "3、個人", _"4", "4、待整理", __"11", "1、招聘", _"12", "2、培訓", _"13", "3、制度", _"14", "4、活動", __"111", "1、專業知識", _"112", "2、招聘簡章", _"113", "3、簡歷", _"114", "4、統計", _"115", "5、素材", _"116", "6、其他資料", __"120", "0、按類型分類匯總", _"121", "1、七天入職新員工培訓", _"122", "2、實習期", _"123", "3、其他機構" _ )' 2. 定義和初始化各類窗口標題 dim mainWinTitle, tipsWinTitle ' (1)主窗口標題 mainWinTitle = "博瑞智(邯鄲)家庭教育服務中心-孫文" ' (2)提示窗口標題 tipsWinTitle = "來自候帥洲的溫馨提示"' 3. 定義和初始化各種健壯性處理提示用語 dim strTipsTemp0, strTipsTemp1, strTipsTemp2, strTipsTemp3 ' (1)提示位置:一、(二) strTipsTemp0 = vbCrLf + "世界上最漂亮的孫文!" + vbCrLf _+ vbCrLf + "請輸入要打開的文件夾編號吧!" ' (2)提示位置:二、(二) strTipsTemp1 = "您沒有輸入任何編號哦!!!" ' (3)提示位置:二、(三) strTipsTemp2 = "您的輸入不是純數字哦!!!" ' (4)提示位置:三、(二) strTipsTemp3 = "您的輸入的編號沒有對應的文件夾哦!!!"' (二)創建交互輸入框 dim id id = inputbox(strTipsTemp0,mainWinTitle)' 二、健壯性處理' (一)如果inputbox返回值為Empty,即用戶點擊的是“取消”; If IsEmpty(id) Then WScript.Quit End If' (二)輸入框內容為空時直接點擊“確定”; If Len(id) = 0 Then msgbox strTipsTemp1, vbokcancel + vbInformation, tipsWinTitleWScript.Quit End If' (三)id有字符但為非純數字時 If Not isnumeric(id) Thenmsgbox strTipsTemp2, vbokcancel + vbInformation, tipsWinTitleWScript.Quit end if' 三、主邏輯處理 ' (id為純數字時) ' (一)目錄結構字典的定義和初始化 ' 將目錄結構“id-目錄”放入鍵值對字典對象——idDirDict dim idDirDict, i Set idDirDict = WSH.CreateObject("Scripting.Dictionary") For i = 0 to UBound(idDirArr)idDirDict.Add idDirArr(i), idDirArr(i + 1)i = i + 1 Next' (二)健壯性處理 ' 判斷指定的key是否存在 If Not idDirDict.Exists(id) Thenmsgbox strTipsTemp3, vbokcancel + vbInformation, tipsWinTitleWScript.Quit End If ' (三)最終處理 ' 1. 確定目錄存在后,拼接絕對目錄 dim strFinalDir For i = 0 to Len(id) - 1strFinalDir = strFinalDir + "\" + idDirDict.Item(left(id, i + 1)) Next ' 2. 打開目標文件夾,結束 Dim ObjWS Set ObjWS = WScript.CreateObject("wscript.shell") ObjWS.run strRootDir + strFinalDir

v2.0 純粹面向過程編碼,良好函數抽象封裝

1、架構圖

2、源碼

' ' 候帥洲 ' ' 手機和微信:175 3102 3301 ' ' 此小項目CSDN詳解博客地址:https://blog.csdn.net/weixin_44591035/article/details/113667614 ' ' ' 1、需求分析 ' 一個盤里的文件名字開頭全有10以內數字編號開頭, ' 要求彈出窗口輸入一串數字編號,便可以打開指定文件夾。 ' ' 2、舉例 ' 彈出交互窗口輸入“122”,點擊確認, ' 即可打開文件夾地址為: ' “E:\工作\1、人事\2、培訓\2、實習期”。 ' 其中,后面的頓號和漢字是任意的, ' 只關注文件名前面的數字即可。 ' ' 3、目前進度 ' 以硬編碼實現的第二個版本,v2 ' 還是純粹面向過程編碼,但都已良好封裝函數, ' 函數抽象合適,函數之間有良好簡潔且固定的層次關系 ' 以后逐漸慢慢迭代版本吧 ' ' ' 程序入口 ' ' 馬克思寫法,邏輯在物質中辯證存在,唯物主義辯證法 ' Call MainWin()' ' 一、主窗口 ' ' 主窗口總函數 ' Sub MainWin() ' dim id, mainWinTitle, mainWinTips ' Call Init_MainWin(mainWinTitle, mainWinTips) ' ' 創建交互輸入框 ' id = inputbox(mainWinTips, mainWinTitle) ' Call Robust_MainWin(id) ' Call MainLogic(id) ' End Sub' 程序入口 ' 黑格爾寫法,一切都在宇宙的邏輯之中,唯心主義 Call MainLogic(MainWin())' 一、主窗口 ' 主窗口總函數 Function MainWin() dim id, mainWinTitle, mainWinTipsCall Init_MainWin(mainWinTitle, mainWinTips)' 創建交互輸入框id = inputbox(mainWinTips, mainWinTitle)Call Robust_MainWin(id)MainWin = id End Function' (一)初始化主窗口提示內容 Sub Init_MainWin(mainWinTitle, mainWinTips)dim enterpriseName ,userName, userAdj, menAdj, womenAdjenterpriseName = "博瑞智(邯鄲)家庭教育服務中心"userName = "孫文"menAdj = "世界上最帥的"womenAdj = "世界上最漂亮的"userAdj = womenAdj' 主窗口標題mainWinTitle = enterpriseName & "-" & userName' 提示用語mainWinTips = vbCrLf & userAdj & userName & vbCrLf _+ vbCrLf + "請輸入要打開的文件夾編號吧!" End Sub' (二)主窗口健壯性處理 Sub Robust_MainWin(id)dim tipsWinTitle, tipsWinTips1, tipsWinTips2Call Init_Robust_MainWin(tipsWinTitle, tipsWinTips1, tipsWinTips2)' 1. 如果inputbox返回值為Empty,即用戶點擊的是“取消”;If IsEmpty(id) Then WScript.Quit End If' 2. 輸入框內容為空時直接點擊“確定”;If Len(id) = 0 Then msgbox tipsWinTips1, vbokcancel + vbInformation, tipsWinTitleWScript.QuitEnd If' 3. id有字符但為非純數字時If Not isnumeric(id) Thenmsgbox tipsWinTips2, vbokcancel + vbInformation, tipsWinTitleWScript.Quitend if End Sub' (三)初始化主窗口健壯性處理提示窗口內容 Sub Init_Robust_MainWin(tipsWinTitle, tipsWinTips1, tipsWinTips2)' 1. 初始化主窗口健壯性處理提示窗口標題tipsWinTitle = "來自候帥洲的溫馨提示"' 2. 初始化主窗口健壯性處理提示用語' (1)提示位置:一、(三)2.tipsWinTips1 = "您沒有輸入任何編號哦!!!" ' (2)提示位置:一、(三)3.tipsWinTips2 = "您的輸入不是純數字哦!!!" End Sub' 二、主邏輯 ' 主邏輯總函數 Sub MainLogic(id)dim strRootDir, idDirDictCall Init_MainLogic(strRootDir, idDirDict)Call Robust_MainLogic(id, idDirDict)' 1. 確定目錄存在后,拼接絕對目錄' (這里的確定的前提是,硬編碼的目錄結構映射是真實的。)dim strFinalDir, iFor i = 0 to Len(id) - 1strFinalDir = strFinalDir + "\" + idDirDict.Item(left(id, i + 1))Next' 2. 打開目標文件夾,結束Dim ObjWSSet ObjWS = WScript.CreateObject("wscript.shell")ObjWS.run strRootDir + strFinalDir End Sub' (一)初始化主邏輯內容 Sub Init_MainLogic(strRootDir, idDirDict)' 1、硬編碼目錄結構' (1)先硬編碼根目錄strRootDir = "E:\ID之道\工作"' (2)先硬編碼所有分目錄dim idDirArridDirArr = Array( _"1", "1、人事", _"2", "2、顧問", _"3", "3、個人", _"4", "4、待整理", __"11", "1、招聘", _"12", "2、培訓", _"13", "3、制度", _"14", "4、活動", __"111", "1、專業知識", _"112", "2、招聘簡章", _"113", "3、簡歷", _"114", "4、統計", _"115", "5、素材", _"116", "6、其他資料", __"120", "0、按類型分類匯總", _"121", "1、七天入職新員工培訓", _"122", "2、實習期", _"123", "3、其他機構" _)' (id為純數字時)' 2、目錄結構字典的初始化' 將目錄結構“id-目錄”放入鍵值對字典對象——idDirDictdim iSet idDirDict = WSH.CreateObject("Scripting.Dictionary")For i = 0 to UBound(idDirArr)idDirDict.Add idDirArr(i), idDirArr(i + 1)i = i + 1Next End Sub' (二)主邏輯健壯性處理 Sub Robust_MainLogic(id, idDirDict)dim tipsWinTitle, tipsWinTipsCall Init_Robust_MainLogic(tipsWinTitle, tipsWinTips)' 判斷指定的key是否存在If Not idDirDict.Exists(id) Thenmsgbox tipsWinTips, vbokcancel + vbInformation, tipsWinTitleWScript.QuitEnd If End Sub' (三)初始化主邏輯健壯性處理提示窗口內容 Sub Init_Robust_MainLogic(tipsWinTitle, tipsWinTips)' 1. 初始化主邏輯健壯性處理提示窗口標題tipsWinTitle = "來自候帥洲的溫馨提示"' 2. 初始化主邏輯健壯性處理提示用語tipsWinTips = "您的輸入的編號沒有對應的文件夾哦!!!" End Sub

v4.0 自動化獲取vbs文件所在文件夾目錄層次結構,代替了手動輸入文件夾名稱數組的硬編碼(我的同事正在使用這一個比較穩定的版本)

(漢字都抽離都了程序最前面,以便之后的封裝設置選項,大家改個漢字的描述就成了屬于自己的程序了)

' ' 候帥洲 ' ' 手機和微信:175 3102 3301 ' ' 此小項目CSDN詳解博客地址:https://blog.csdn.net/weixin_44591035/article/details/113667614 ' ' ' 1、需求分析 ' 一個盤里的文件名字開頭全有10以內數字編號開頭, ' 要求彈出窗口輸入一串數字編號,便可以打開指定文件夾。 ' ' ' 2、舉例 ' 彈出交互窗口輸入“122”,點擊確認, ' 即可打開文件夾地址為: ' “E:\工作\1、人事\2、培訓\2、實習期”。 ' 其中,后面的頓號和漢字是任意的, ' 只關注文件名前面的數字即可。 ' ' ' 3、目前進度 ' 第四個版本,v4 ' 面向對象形式改造,進一步的封裝變換 ' 加入自動查找抽離文件id并匹配 '' —————————————————————————————————————————————————————————————————— ' '···························!!!注意!!!!!! ' ' 目前算法編碼嚴格要求兩個準則: ' 1、每個文件夾數字編號必須是文件名稱的第一個字符并只能用一位阿拉伯數字表示 ' 2、每個文件夾數字編號與文件夾名的分割符號 ' 緊跟在數字后面且只有一個,且文件夾名稱只能含一個 ' (目前分隔符為頓號“、”,可改,但不推薦) ' ' ——————————————————————————————————————————————————————————————————dim variateValueArr variateValueArr = Array( _"博瑞智(邯鄲)家庭教育服務中心", _"孫文", _"世界上最漂亮的", _"請輸入要打開的文件夾編號吧!", __"來自候帥洲的溫馨提示", _"您沒有輸入任何編號哦!!!", _"您的輸入不是純數字哦!!!", _"您的輸入的編號沒有對應的文件夾哦!!!", _ _"、" _ ) dim variateIDArr variateIDArr = Array( __"111", _"112", _"113", _"114", __"211", _"212", _"213", _"221", _ _"121" _ ) dim variateDescribeArr variateDescribeArr = Array( _"enterpriseName", _"userName", _"userAdj", _"inpuIDTips", __"tipsWinTitle", _"tipsWinTips_ClickOKWhenBlank", _"tipsWinTips_ClickOKWhenNotPureNumber", _"tipsWinTips_IDNotReal", _ _"文件夾數字編號與文件夾名的分割符號" _ )' dim classifiedNumberArr ' classifiedNumberArr = Array(4, 4, 1)dim gttwMapping Set gttwMapping = New GTTW_Mapping gttwMapping.variateIDArr = variateIDArr gttwMapping.variateDescribeArr = variateDescribeArr gttwMapping.variateValueArr = variateValueArr gttwMapping.createMapping()' 程序入口 ' 黑格爾寫法,一切都在宇宙的邏輯之中,唯心主義 Call MainLogic(MainWin())' 一、主窗口 ' 主窗口總函數 Function MainWin() dim id, mainWinTitle, mainWinTipsCall Init_MainWin(mainWinTitle, mainWinTips)' 創建交互輸入框id = inputbox(mainWinTips, mainWinTitle)Call Robust_MainWin(id)MainWin = id End Function' (一)初始化主窗口提示內容 Sub Init_MainWin(mainWinTitle, mainWinTips) dim enterpriseName ' variateID = 111enterpriseName = gttwMapping.getVariateValue("111")dim userNameuserName = gttwMapping.getVariateValue("112")dim userAdjuserAdj = gttwMapping.getVariateValue("113")dim inputIDTipsinputIDTips = gttwMapping.getVariateValue("114")' 1. 主窗口標題mainWinTitle = enterpriseName & "-" & userName' 2. 提示用語mainWinTips = vbCrLf & userAdj & userName & vbCrLf _+ vbCrLf + inputIDTips End Sub' (二)主窗口健壯性處理 Sub Robust_MainWin(id)dim tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumberCall Init_Robust_MainWin(tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumber)' 1. 如果inputbox返回值為Empty,即用戶點擊的是“取消”;If IsEmpty(id) Then WScript.Quit End If' 2. 輸入框內容為空時直接點擊“確定”;If Len(id) = 0 Then ' msgbox tipsWinTips_ClickOKWhenBlank, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_ClickOKWhenBlank, tipsWinTitle)WScript.QuitEnd If' 3. id有字符但為非純數字時If Not isnumeric(id) Then' msgbox tipsWinTips_ClickOKWhenNotPureNumber, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_ClickOKWhenNotPureNumber, tipsWinTitle)WScript.Quitend if End Sub' (三)初始化主窗口健壯性處理提示窗口內容 Sub Init_Robust_MainWin(tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumber)' 1. 初始化主窗口健壯性處理提示窗口標題tipsWinTitle = gttwMapping.getVariateValue("211")' 2. 初始化主窗口健壯性處理提示用語' (1)提示位置:一、(三)2.tipsWinTips_ClickOKWhenBlank = gttwMapping.getVariateValue("212")' (2)提示位置:一、(三)3.tipsWinTips_ClickOKWhenNotPureNumber = gttwMapping.getVariateValue("213") End Sub' 二、主邏輯 ' 主邏輯總函數 '(id為純數字時) ' ' 思路: ' 例如目標文件夾為:str = “E:\工作\2、222\1、開發冷戰零撒扥\3、阿森簡單 - 副本” ' ' 解決: ' 直接從str中抽離“213”,然后與id直接比較,一樣則直接打開此文件夾' (一)定義相關變量和初始化并結束整個邏輯鏈sub MainLogic(id)Dim objFSO, objWS, currentDir, separatorStrSet objFSO = CreateObject("Scripting.FileSystemObject") Set objWS = WScript.CreateObject("wscript.shell")currentDir = objWS.CurrentDirectoryseparatorStr = gttwMapping.getVariateValue("121")Call SearchFolder(currentDir, objFSO, objWS, id, separatorStr)dim tipsWinTitletipsWinTitle = gttwMapping.getVariateValue("211")dim tipsWinTips_IDNotRealtipsWinTips_IDNotReal = gttwMapping.getVariateValue("221")' msgbox tipsWinTips_IDNotReal, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_IDNotReal, tipsWinTitle) end sub' (二)核心算法函數封裝 Sub SearchFolder(folderPath, objFSO, objWS, id, separatorStr) dim objFolderSet objFolder=objFSO.GetFolder(folderPath)Set SubFolders=objFolder.SubFoldersIf SubFolders.Count = 0 then'msgbox "exit search:" & folderPathexit SubEnd Ifdim strIDTemp, ss, n, str, index, strTempFor Each subFolder In SubFoldersstrIDTemp = subFolder.path ss = Split(strIDTemp, separatorStr, -1)n = UBound(ss) - 1str = ""For i = 0 to nstrTemp = ss(i)index = Len(strTemp)str = str & Mid(strTemp, index, 1)nextif StrComp(str, id) = 0 then' msgbox strIDTempCall openDir(strIDTemp, objWS)WScript.Quitend ifCall SearchFolder(subFolder.path, objFSO, objWS, id, separatorStr)Next End Sub' 提示窗口 Sub promptWin(tips, title)msgbox tips, vbokcancel + vbInformation, title End Sub' 打開文件夾,這里主要是解決了路徑帶空格報錯的問題 Sub openDir(dir, objWS)Const vbQuote = """"dir = vbQuote & dir & vbQuoteobjWS.run dir End Sub' GTTW制作的Mapping核心映射類 ' 以程序設計的標準化、規范化、流程化為中心思想 ' 最重要的是合適的抽象化 ' ' 此映射類給程序提供模板化設計思想 ' ' 此映射類主要功能: ' 映射所有與現實世界有關的變量 ' 讓程序設計依賴抽象,而不去依賴具體現實,符合依賴倒置原則 ' 并提供可視化設置的數據接口 ' ' 感覺完全可以存到數據庫呀! ' Class GTTW_Mapping' Key Value Dictionary Variate' IDValueDictVar' IVDV —> ivdv' (variateIDArr --> variateValueArr)' “ID-值”鍵值對字典映射變量Private m_ivdv' IDDescribeDictVar' IDDV —> iddv' (variateIDArr --> variateValueArr)' “ID-描述”鍵值對字典映射變量Private m_iddv Private m_variateIDArr ' 需要主體程序設計的形而上變量的id數組Private m_variateValueArr ' 需要從現實世界獲取的變量的值數組Private m_variateDescribeArr ' 需要主體程序設計的形而上變量的描述數組Private m_classifiedNumberArr ' 需要主體程序傳入的以上變量數組的分類分組數目數組' Initialize事件相當于構造函數Private Sub Class_Initialize ' 當這個類被創建時執行' MsgBox "類開始"Set m_ivdv = WSH.CreateObject("Scripting.Dictionary")Set m_iddv = WSH.CreateObject("Scripting.Dictionary")End SubPublic Default Function Constructor(variateIDArr, variateDescribeArr, classifiedNumberArr)m_variateIDArr = variateIDArrm_variateDescribeArr = variateDescribeArrm_classifiedNumberArr = classifiedNumberArr' Set Constructor = MeEnd Function' 只讀只寫方法Public Property Get ivdvivdv = m_ivdvEnd Property' 注意————私有的Private Property Let ivdv(new_ivdv)m_ivdv = new_ivdvEnd Property Public Property Get iddviddv = m_iddvEnd Property' 注意————私有的Private Property Let iddv(new_iddv)m_iddv = new_iddvEnd Property Public Property Get variateIDArrvariateIDArr = m_variateIDArrEnd Property Public Property Let variateIDArr(new_variateIDArr)m_variateIDArr = new_variateIDArrEnd Property Public Property Get variateValueArrvariateValueArr = m_variateValueArrEnd Property ' 注意————之后要改為私有的Public Property Let variateValueArr(new_variateValueArr)m_variateValueArr = new_variateValueArrEnd Property Public Property Get variateDescribeArrvariateDescribeArr = m_variateDescribeArrEnd Property Public Property Let variateDescribeArr(new_variateDescribeArr)m_variateDescribeArr = new_variateDescribeArrEnd Property Public Property Get classifiedNumberArrclassifiedNumberArr = m_classifiedNumberArrEnd Property Public Property Let classifiedNumberArr(new_classifiedNumberArr)m_classifiedNumberArr = new_classifiedNumberArrEnd Property ' 建立兩個映射Public Sub createMapping()dim i, nn = ubound(m_variateIDArr)For i = 0 to nm_ivdv.Add m_variateIDArr(i), m_variateValueArr(i)Next For i = 0 to nm_iddv.Add m_variateIDArr(i), m_variateDescribeArr(i)Next End Sub ' 以變量id得到相應變量在現實世界的值Public Function getVariateValue(variateID)getVariateValue = m_ivdv.Item(variateID)End Function' 以變量id得到相應變量在現實世界的描述Public Function getVariateDescribe(variateID)getVariateDescribe = m_iddv.Item(variateID)End Function End Class

v4.1 在v4.0基礎上,增加了夸獎人的隨機形容詞功能

(不過,目前形容詞庫還是硬編碼)

' ' 候帥洲 ' ' 手機和微信:175 3102 3301 ' ' 此小項目CSDN詳解博客地址:https://blog.csdn.net/weixin_44591035/article/details/113667614 ' ' ' 1、需求分析 ' 一個盤里的文件名字開頭全有10以內數字編號開頭, ' 要求彈出窗口輸入一串數字編號,便可以打開指定文件夾。 ' ' ' 2、舉例 ' 彈出交互窗口輸入“122”,點擊確認, ' 即可打開文件夾地址為: ' “E:\工作\1、人事\2、培訓\2、實習期”。 ' 其中,后面的頓號和漢字是任意的, ' 只關注文件名前面的數字即可。 ' ' ' 3、目前進度 ' 第四個版本,v4 ' 面向對象形式改造,進一步的封裝變換 ' 加入自動查找抽離文件id并匹配 ' 增加了夸獎人的隨機形容詞功能 '' —————————————————————————————————————————————————————————————————— ' '···························!!!注意!!!!!! ' ' 目前算法編碼嚴格要求兩個準則: ' 1、每個文件夾數字編號必須是文件名稱的第一個字符并只能用一位阿拉伯數字表示 ' 2、每個文件夾數字編號與文件夾名的分割符號 ' 緊跟在數字后面且只有一個,且文件夾名稱只能含一個 ' (目前分隔符為頓號“、”,可改,但不推薦) ' ' ——————————————————————————————————————————————————————————————————dim variateValueArr variateValueArr = Array( _"博瑞智(邯鄲)家庭教育服務中心", _"孫文", _"請輸入要打開的文件夾編號吧!", __"來自候帥洲的溫馨提示", _"您沒有輸入任何編號哦!!!", _"您的輸入不是純數字哦!!!", _"您的輸入的編號沒有對應的文件夾哦!!!", _ _"、" _ ) dim variateIDArr variateIDArr = Array( __"111", _"112", _"114", __"211", _"212", _"213", _"221", _ _"121" _ ) dim variateDescribeArr variateDescribeArr = Array( _"enterpriseName", _"userName", _"inpuIDTips", __"tipsWinTitle", _"tipsWinTips_ClickOKWhenBlank", _"tipsWinTips_ClickOKWhenNotPureNumber", _"tipsWinTips_IDNotReal", _ _"文件夾數字編號與文件夾名的分割符號" _ )' dim classifiedNumberArr ' classifiedNumberArr = Array(4, 4, 1)dim gttwMapping Set gttwMapping = New GTTW_Mapping gttwMapping.variateIDArr = variateIDArr gttwMapping.variateDescribeArr = variateDescribeArr gttwMapping.variateValueArr = variateValueArr gttwMapping.createMapping()' 程序入口 ' 黑格爾寫法,一切都在宇宙的邏輯之中,唯心主義 Call MainLogic(MainWin())' 一、主窗口 ' 主窗口總函數 Function MainWin() dim id, mainWinTitle, mainWinTipsCall Init_MainWin(mainWinTitle, mainWinTips)' 創建交互輸入框id = inputbox(mainWinTips, mainWinTitle)Call Robust_MainWin(id)MainWin = id End Function' (一)初始化主窗口提示內容 Sub Init_MainWin(mainWinTitle, mainWinTips) dim enterpriseName ' variateID = 111enterpriseName = gttwMapping.getVariateValue("111")dim userNameuserName = gttwMapping.getVariateValue("112")dim userAdjuserAdj = praiseWords() + "的"dim inputIDTipsinputIDTips = gttwMapping.getVariateValue("114")' 1. 主窗口標題mainWinTitle = enterpriseName & "-" & userName' 2. 提示用語mainWinTips = vbCrLf & userAdj & userName & vbCrLf _+ vbCrLf + inputIDTips End Sub' (二)主窗口健壯性處理 Sub Robust_MainWin(id)dim tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumberCall Init_Robust_MainWin(tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumber)' 1. 如果inputbox返回值為Empty,即用戶點擊的是“取消”;If IsEmpty(id) Then WScript.Quit End If' 2. 輸入框內容為空時直接點擊“確定”;If Len(id) = 0 Then ' msgbox tipsWinTips_ClickOKWhenBlank, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_ClickOKWhenBlank, tipsWinTitle)WScript.QuitEnd If' 3. id有字符但為非純數字時If Not isnumeric(id) Then' msgbox tipsWinTips_ClickOKWhenNotPureNumber, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_ClickOKWhenNotPureNumber, tipsWinTitle)WScript.Quitend if End Sub' (三)初始化主窗口健壯性處理提示窗口內容 Sub Init_Robust_MainWin(tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumber)' 1. 初始化主窗口健壯性處理提示窗口標題tipsWinTitle = gttwMapping.getVariateValue("211")' 2. 初始化主窗口健壯性處理提示用語' (1)提示位置:一、(三)2.tipsWinTips_ClickOKWhenBlank = gttwMapping.getVariateValue("212")' (2)提示位置:一、(三)3.tipsWinTips_ClickOKWhenNotPureNumber = gttwMapping.getVariateValue("213") End Sub' 二、主邏輯 ' 主邏輯總函數 '(id為純數字時) ' ' 思路: ' 例如目標文件夾為:str = “E:\工作\2、222\1、開發冷戰零撒扥\3、阿森簡單 - 副本” ' ' 解決: ' 直接從str中抽離“213”,然后與id直接比較,一樣則直接打開此文件夾' (一)定義相關變量和初始化并結束整個邏輯鏈sub MainLogic(id)Dim objFSO, objWS, currentDir, separatorStrSet objFSO = CreateObject("Scripting.FileSystemObject") Set objWS = WScript.CreateObject("wscript.shell")currentDir = objWS.CurrentDirectoryseparatorStr = gttwMapping.getVariateValue("121")Call SearchFolder(currentDir, objFSO, objWS, id, separatorStr)dim tipsWinTitletipsWinTitle = gttwMapping.getVariateValue("211")dim tipsWinTips_IDNotRealtipsWinTips_IDNotReal = gttwMapping.getVariateValue("221")' msgbox tipsWinTips_IDNotReal, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_IDNotReal, tipsWinTitle) end sub' (二)核心算法函數封裝 Sub SearchFolder(folderPath, objFSO, objWS, id, separatorStr) dim objFolderSet objFolder=objFSO.GetFolder(folderPath)Set SubFolders=objFolder.SubFoldersIf SubFolders.Count = 0 then'msgbox "exit search:" & folderPathexit SubEnd Ifdim strIDTemp, ss, n, str, index, strTempFor Each subFolder In SubFoldersstrIDTemp = subFolder.path ss = Split(strIDTemp, separatorStr, -1)n = UBound(ss) - 1str = ""For i = 0 to nstrTemp = ss(i)index = Len(strTemp)str = str & Mid(strTemp, index, 1)nextif StrComp(str, id) = 0 then' msgbox strIDTempCall openDir(strIDTemp, objWS)WScript.Quitend ifCall SearchFolder(subFolder.path, objFSO, objWS, id, separatorStr)Next End Sub' 提示窗口 Sub promptWin(tips, title)msgbox tips, vbokcancel + vbInformation, title End Sub' 打開文件夾,這里主要是解決了路徑帶空格報錯的問題 Sub openDir(dir, objWS)Const vbQuote = """"dir = vbQuote & dir & vbQuoteobjWS.run dir End Sub' GTTW制作的Mapping核心映射類 ' 以程序設計的標準化、規范化、流程化為中心思想 ' 最重要的是合適的抽象化 ' ' 此映射類給程序提供模板化設計思想 ' ' 此映射類主要功能: ' 映射所有與現實世界有關的變量 ' 讓程序設計依賴抽象,而不去依賴具體現實,符合依賴倒置原則 ' 并提供可視化設置的數據接口 ' ' 感覺完全可以存到數據庫呀! ' Class GTTW_Mapping' Key Value Dictionary Variate' IDValueDictVar' IVDV —> ivdv' (variateIDArr --> variateValueArr)' “ID-值”鍵值對字典映射變量Private m_ivdv' IDDescribeDictVar' IDDV —> iddv' (variateIDArr --> variateValueArr)' “ID-描述”鍵值對字典映射變量Private m_iddv Private m_variateIDArr ' 需要主體程序設計的形而上變量的id數組Private m_variateValueArr ' 需要從現實世界獲取的變量的值數組Private m_variateDescribeArr ' 需要主體程序設計的形而上變量的描述數組Private m_classifiedNumberArr ' 需要主體程序傳入的以上變量數組的分類分組數目數組' Initialize事件相當于構造函數Private Sub Class_Initialize ' 當這個類被創建時執行' MsgBox "類開始"Set m_ivdv = WSH.CreateObject("Scripting.Dictionary")Set m_iddv = WSH.CreateObject("Scripting.Dictionary")End SubPublic Default Function Constructor(variateIDArr, variateDescribeArr, classifiedNumberArr)m_variateIDArr = variateIDArrm_variateDescribeArr = variateDescribeArrm_classifiedNumberArr = classifiedNumberArr' Set Constructor = MeEnd Function' 只讀只寫方法Public Property Get ivdvivdv = m_ivdvEnd Property' 注意————私有的Private Property Let ivdv(new_ivdv)m_ivdv = new_ivdvEnd Property Public Property Get iddviddv = m_iddvEnd Property' 注意————私有的Private Property Let iddv(new_iddv)m_iddv = new_iddvEnd Property Public Property Get variateIDArrvariateIDArr = m_variateIDArrEnd Property Public Property Let variateIDArr(new_variateIDArr)m_variateIDArr = new_variateIDArrEnd Property Public Property Get variateValueArrvariateValueArr = m_variateValueArrEnd Property ' 注意————之后要改為私有的Public Property Let variateValueArr(new_variateValueArr)m_variateValueArr = new_variateValueArrEnd Property Public Property Get variateDescribeArrvariateDescribeArr = m_variateDescribeArrEnd Property Public Property Let variateDescribeArr(new_variateDescribeArr)m_variateDescribeArr = new_variateDescribeArrEnd Property Public Property Get classifiedNumberArrclassifiedNumberArr = m_classifiedNumberArrEnd Property Public Property Let classifiedNumberArr(new_classifiedNumberArr)m_classifiedNumberArr = new_classifiedNumberArrEnd Property ' 建立兩個映射Public Sub createMapping()dim i, nn = ubound(m_variateIDArr)For i = 0 to nm_ivdv.Add m_variateIDArr(i), m_variateValueArr(i)Next For i = 0 to nm_iddv.Add m_variateIDArr(i), m_variateDescribeArr(i)Next End Sub ' 以變量id得到相應變量在現實世界的值Public Function getVariateValue(variateID)getVariateValue = m_ivdv.Item(variateID)End Function' 以變量id得到相應變量在現實世界的描述Public Function getVariateDescribe(variateID)getVariateDescribe = m_iddv.Item(variateID)End Function End ClassFunction praiseWords()dim strstr = "獨立 大方 愛美 善于交際 另類 有耐力 溫柔 體貼 有見識 有儀態 撒嬌 任性 美麗 善良 大方 優雅 文靜 " & _"活潑 率直 可愛 天真 端莊 溫柔 賢惠 多才 俊俏 國色天香 傾國傾城 美艷絕世 清麗絕俗 天生麗質 開朗 賢淑 純潔 " & _"回眸一笑百媚生 沉魚落雁 閉月羞花 貌賽西施 風華絕代 儀態萬端 婉風流轉 美撼凡塵 聘婷秀雅 娥娜翩躚 俏麗多姿 " & _"風姿卓越 顧盼流轉 清絲糾纏 舉步輕搖 明艷不可方物 閉月羞花 沉魚落雁 傾國傾城 溫婉嫻淑 千嬌百媚 儀態萬千 " & _ "美若天仙 美愈天人 不施粉黛天然美 清秀高雅 姿容絕代 玉指如蔥 膚如凝脂 眉如新月 秋波流轉 櫻桃小口 美人微笑轉星眸 " & _"國色天香 花容月貌 明目皓齒 淡掃峨眉 清艷脫俗 香肌玉膚 艷冠群芳 剪水雙瞳 美艷絕倫 神仙玉骨 楚楚動人 脫俗 " & _"如花似玉 傾國傾城 靜若處子 動若脫兔 螓首蛾眉 淡妝濃抹 雙瞳剪水 貌美如花 姿容絕代 玉指如蔥 膚如凝脂 清秀高雅 " & _"絕代佳人 仙姿佚貌 冰肌玉骨 眉目如畫 環肥燕瘦 眉清目秀 千嬌百媚 梨花帶雨 清艷脫俗 妖嬈動人 艷光四射 淡掃峨眉 " & _"儀態萬端 婉風流轉 美撼凡塵 聘婷秀雅 嬌小玲瓏 小家碧玉 粉裝玉琢 夭桃秾李 美如冠玉 紅飛翠舞 齒白唇紅 綽約多姿 " & _"美若天仙 美愈天人 貌賽西施 美艷絕世 娥娜翩躚 俏麗多姿 艷冠群芳 剪水雙瞳 秋波流轉 櫻桃小口 空谷幽蘭 眉如新月 " & _"清麗脫俗 花容月貌 明眸皓齒 天生麗質 亭亭玉立 如花似玉 花枝招展 出水芙蓉 宛轉蛾眉 靡顏膩理 粉妝玉琢 月里嫦娥 " & _"國色天姿 玉貌花容 秀外惠中 仙姿玉貌 美艷絕倫 神仙玉骨 楚楚動人 顧盼流轉 唇紅齒白 風情萬眾 顧盼生姿 明眸善睞 " & _"齒如編貝 目若朗星 明眸皓齒 恍若天人 沉魚落雁 傾國傾城 國色天香 閉月羞花"dim strArrstrArr = split(str, " ")n = UBound(strArr)ran = GetRandomInt(1, n)praiseWords = strArr(ran) End FunctionFunction GetRandomInt(m,n)dim ranran = Second(Now) * 3While ran > n Or ran < mIf ran > n Thenran = ran - day(Now)End IfIf ran < m Thenran = ran + Second(Now)End IfWendGetRandomInt = ran End Function

v5.0 增加了自動獲取并顯示文件夾名稱結構層次的顯示功能

(但問題是,1,顯示窗口是獨立的,多了一步,麻煩了。2,如果文件夾太多,顯示不全,此情況待解決。
應該上工程了。

' ' 候帥洲 ' ' 手機和微信:175 3102 3301 ' ' 此小項目CSDN詳解博客地址:https://blog.csdn.net/weixin_44591035/article/details/113667614 ' ' ' 1、需求分析 ' 一個盤里的文件名字開頭全有10以內數字編號開頭, ' 要求彈出窗口輸入一串數字編號,便可以打開指定文件夾。 ' ' ' 2、舉例 ' 彈出交互窗口輸入“122”,點擊確認, ' 即可打開文件夾地址為: ' “E:\工作\1、人事\2、培訓\2、實習期”。 ' 其中,后面的頓號和漢字是任意的, ' 只關注文件名前面的數字即可。 ' ' ' 3、目前進度 ' 第五個版本,v5 ' 增加窗口顯示目錄結構和對應編號 '' —————————————————————————————————————————————————————————————————— ' '···························!!!注意!!!!!! ' ' 目前算法編碼嚴格要求兩個準則: ' 1、每個文件夾數字編號必須是文件名稱的第一個字符并只能用一位阿拉伯數字表示 ' 2、每個文件夾數字編號與文件夾名的分割符號, ' 緊跟在數字后面并只有一個,且文件夾名稱只能含一個 ' (目前分隔符為頓號“、”,可改,但不推薦) ' ' ——————————————————————————————————————————————————————————————————dim variateValueArr variateValueArr = Array( __"您想打開那個文件夾呢?" & vbCrLf & "請稍微記一下要打開的文件夾后面對應的編號吧!" & vbCrLf , __"博瑞智(邯鄲)家庭教育服務中心", _"文文姐", _vbCrLf & "現在," & vbCrLf & vbCrLf & "請輸入要打開的文件夾編號吧!", __"候帥洲說:", _"沒有輸入任何編號哦!!!", _"輸入的不是純數字哦!!!", _"輸入的編號沒有對應的文件夾哦!!!", _ _"、", _"6", _"4" _ ) dim variateIDArr variateIDArr = Array( __"110", __"111", _"112", _"114", __"211", _"212", _"213", _"221", _ _"121", _ "122", _ "123" _ )' 變量id(變量名稱):該變量描述。 dim variateDescribeArr variateDescribeArr = Array( _"110(tipsTitle):展示文件樹的首窗口提示用語。", __"111(enterpriseName):企業名稱(個人當然也可以用了,一個人對待自己電腦里的資源就要像對待自己的公司一樣)。", _"112(userName):用戶名稱。", "113(userAdj):用戶的描述,狠勁夸即可。", _"114(inpuIDTips):輸入ID時的提示用語,要禮貌,也狠勁夸即可。", __"211(tipsWinTitle):提示窗口的邊框上標題。", _"212(tipsWinTips_ClickOKWhenBlank):文本輸入框沒有內容就點擊了確認的提示用語。", _"213(tipsWinTips_ClickOKWhenNotPureNumber):文本框輸入的內容不是純數字時的提示用語。", _"221(tipsWinTips_IDNotReal):文本框輸入的純數字沒有對應真實存在的文件夾ID編號。", _ _"232(separatorStr):文件夾數字編號與文件夾名的分割符號。", _"122(levelIndentSpaceNumber):文件夾樹型結構展示窗口中文件夾名稱前面的縮進空格數量", _"123(numberIndentSpaceNumber):文件夾樹型結構展示窗口中文件夾名稱和后面自動生成編號直接的空間隙的空格數量(目前的設計為純空格)。" _ )' dim classifiedNumberArr ' classifiedNumberArr = Array(4, 4, 1)dim gttwMapping Set gttwMapping = New GTTW_Mapping gttwMapping.variateIDArr = variateIDArr gttwMapping.variateDescribeArr = variateDescribeArr gttwMapping.variateValueArr = variateValueArr gttwMapping.createMapping()Dim objFSO, objWS Set objFSO = CreateObject("Scripting.FileSystemObject") Set objWS = WScript.CreateObject("wscript.shell")dim currentDir currentDir = objWS.CurrentDirectoryDim filesTree' 程序入口 ' 黑格爾寫法,一切都在宇宙的邏輯之中,唯心主義 Call MainLogic(MainWin())' 一、主窗口 ' 主窗口總函數 Function MainWin() dim separatorStrseparatorStr = gttwMapping.getVariateValue("121")Call showFolderStructure(currentDir, separatorStr)dim tipsWinTitletipsWinTitle = gttwMapping.getVariateValue("211")Call showFolderStructureWin(filesTree, tipsWinTitle) dim id, mainWinTitle, mainWinTipsCall Init_MainWin(mainWinTitle, mainWinTips)' 創建交互輸入框id = inputbox(mainWinTips, mainWinTitle)Call Robust_MainWin(id)MainWin = id End Function' (一)初始化主窗口提示內容 Sub Init_MainWin(mainWinTitle, mainWinTips) ' 1. 主窗口標題mainWinTitle = gttwMapping.getVariateValue("211")' 2. 提示用語mainWinTips = gttwMapping.getVariateValue("114") End Sub' (二)主窗口健壯性處理 Sub Robust_MainWin(id)dim tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumberCall Init_Robust_MainWin(tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumber)' 1. 如果inputbox返回值為Empty,即用戶點擊的是“取消”;If IsEmpty(id) Then WScript.Quit End If' 2. 輸入框內容為空時直接點擊“確定”;If Len(id) = 0 Then ' msgbox tipsWinTips_ClickOKWhenBlank, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_ClickOKWhenBlank, tipsWinTitle)WScript.QuitEnd If' 3. id有字符但為非純數字時If Not isnumeric(id) Then' msgbox tipsWinTips_ClickOKWhenNotPureNumber, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_ClickOKWhenNotPureNumber, tipsWinTitle)WScript.Quitend if End Sub' (三)初始化主窗口健壯性處理提示窗口內容 Sub Init_Robust_MainWin(tipsWinTitle, tipsWinTips_ClickOKWhenBlank, tipsWinTips_ClickOKWhenNotPureNumber)' 1. 初始化主窗口健壯性處理提示窗口標題tipsWinTitle = gttwMapping.getVariateValue("211")' 2. 初始化主窗口健壯性處理提示用語' (1)提示位置:一、(三)2.tipsWinTips_ClickOKWhenBlank = gttwMapping.getVariateValue("212")' (2)提示位置:一、(三)3.tipsWinTips_ClickOKWhenNotPureNumber = gttwMapping.getVariateValue("213") End Sub' 二、主邏輯 ' 主邏輯總函數 '(id為純數字時) ' ' 思路: ' 例如目標文件夾為:str = “E:\工作\2、222\1、開發冷戰零撒扥\3、阿森簡單 - 副本” ' ' 解決: ' 直接從str中抽離“213”,然后與id直接比較,一樣則直接打開此文件夾' (一)定義相關變量和初始化并結束整個邏輯鏈sub MainLogic(id)' Dim objFSO, objWS' dim currentDir' Set objFSO = CreateObject("Scripting.FileSystemObject") ' Set objWS = WScript.CreateObject("wscript.shell")' currentDir = objWS.CurrentDirectorydim separatorStrseparatorStr = gttwMapping.getVariateValue("121")Call SearchFolder(currentDir, id, separatorStr)dim tipsWinTitletipsWinTitle = gttwMapping.getVariateValue("211")dim tipsWinTips_IDNotRealtipsWinTips_IDNotReal = gttwMapping.getVariateValue("221")' msgbox tipsWinTips_IDNotReal, vbokcancel + vbInformation, tipsWinTitleCall promptWin(tipsWinTips_IDNotReal, tipsWinTitle) end sub' (二)核心算法函數封裝 ' 1. id匹配文件夾 Sub SearchFolder(folderPath, id, separatorStr) dim objFolderSet objFolder=objFSO.GetFolder(folderPath)Set SubFolders=objFolder.SubFoldersIf SubFolders.Count = 0 then'msgbox "exit search:" & folderPathexit SubEnd Ifdim strIDTemp, strFor Each subFolder In SubFoldersstrIDTemp = subFolder.path str = splitJointNumber_Func(strIDTemp, separatorStr)if StrComp(str, id) = 0 then' msgbox strIDTempCall openDir(strIDTemp, objWS)WScript.Quitend ifCall SearchFolder(subFolder.path, id, separatorStr)Next End Sub' 2. 文件夾清晰結構展示 Sub showFolderStructure(folderPath, separatorStr) Set objFolder=objFSO.GetFolder(folderPath)Set SubFolders=objFolder.SubFoldersIf SubFolders.Count = 0 then'msgbox "exit search:" & folderPathexit SubEnd IfFor Each subFolder In SubFolderss = subFolder.pathCall showFolderNameByLevelSpace(s, separatorStr)Call showFolderStructure(s, separatorStr)NextEnd Sub' 文件夾清晰結構展示算法核心 Sub showFolderNameByLevelSpace(fullPath, separatorStr)dim index, fullFolderName, folderNamedim ss, n, splitJointNumberdim initialChar, secondChardim levelIndentStr,levelIndentSpaceNumberdim numberIndentStr, numberIndentSpaceNumberlevelIndentSpaceNumber = gttwMapping.getVariateValue("122")numberIndentSpaceNumber = gttwMapping.getVariateValue("123")index = InstrRev(fullPath, "\") + 1fullFolderName = Mid(fullPath, index)folderName = Mid(fullFolderName, 3)ss = Split(fullPath, separatorStr, -1)n = UBound(ss)initialChar = Asc(fullFolderName)secondChar = Mid(fullFolderName, 2, 1)levelIndentStr = Space(levelIndentSpaceNumber * n)numberIndentStr = Space(numberIndentSpaceNumber)splitJointNumber = splitJointNumber_Func(fullPath, separatorStr) If initialChar >= Asc("0") _And initialChar <= Asc("9") _And StrComp(secondChar, separatorStr) = 0 ThenIf Len(splitJointNumber) = 1 ThenfilesTree = filesTree & vbCrLf & vbCrLfEnd IffilesTree = filesTree & levelIndentStr _& folderName _& numberIndentStr _& splitJointNumber _& vbCrLf' & "→"End IfEnd Sub' 從絕對路徑抽離文件夾全編號 Function splitJointNumber_Func(fullPath, separatorStr)dim ss, n, str, index, strTempss = Split(fullPath, separatorStr, -1)n = UBound(ss) - 1str = ""For i = 0 to nstrTemp = ss(i)index = Len(strTemp)str = str & Mid(strTemp, index, 1)nextsplitJointNumber_Func = str End Function' 文件夾樹型結構展示窗口 Sub showFolderStructureWin(tipsContent, title)dim userNameuserName = gttwMapping.getVariateValue("112")dim userAdjuserAdj = praiseWords() + "的"dim tipsTitletipsTitle = userAdj & userName & "! " & gttwMapping.getVariateValue("110")tips = tipsTitle & tipsContentmsgbox tips, vbQuestion, title End Sub' 提示窗口 Sub promptWin(tips, title)dim userNameuserName = gttwMapping.getVariateValue("112")tips = userAdj & userName & tipsmsgbox tips, vbokcancel + vbInformation, title End Sub' 打開文件夾,這里主要是解決了路徑帶空格報錯的問題 Sub openDir(dir, objWS)Const vbQuote = """"dir = vbQuote & dir & vbQuoteobjWS.run dir End Sub' GTTW制作的Mapping核心映射類 ' 以程序設計的標準化、規范化、流程化為中心思想 ' 最重要的是合適的抽象化 ' ' 此映射類給程序提供模板化設計思想 ' ' 此映射類主要功能: ' 映射所有與現實世界有關的變量 ' 讓程序設計依賴抽象,而不去依賴具體現實,符合依賴倒置原則 ' 并提供可視化設置的數據接口 ' ' 感覺完全可以存到數據庫呀! ' Class GTTW_Mapping' Key Value Dictionary Variate' IDValueDictVar' IVDV —> ivdv' (variateIDArr --> variateValueArr)' “ID-值”鍵值對字典映射變量Private m_ivdv' IDDescribeDictVar' IDDV —> iddv' (variateIDArr --> variateValueArr)' “ID-描述”鍵值對字典映射變量Private m_iddv Private m_variateIDArr ' 需要主體程序設計的形而上變量的id數組Private m_variateValueArr ' 需要從現實世界獲取的變量的值數組Private m_variateDescribeArr ' 需要主體程序設計的形而上變量的描述數組Private m_classifiedNumberArr ' 需要主體程序傳入的以上變量數組的分類分組數目數組' Initialize事件相當于構造函數Private Sub Class_Initialize ' 當這個類被創建時執行' MsgBox "類開始"Set m_ivdv = WSH.CreateObject("Scripting.Dictionary")Set m_iddv = WSH.CreateObject("Scripting.Dictionary")End SubPublic Default Function Constructor(variateIDArr, variateDescribeArr, classifiedNumberArr)m_variateIDArr = variateIDArrm_variateDescribeArr = variateDescribeArrm_classifiedNumberArr = classifiedNumberArr' Set Constructor = MeEnd Function' 只讀只寫方法Public Property Get ivdvivdv = m_ivdvEnd Property' 注意————私有的Private Property Let ivdv(new_ivdv)m_ivdv = new_ivdvEnd Property Public Property Get iddviddv = m_iddvEnd Property' 注意————私有的Private Property Let iddv(new_iddv)m_iddv = new_iddvEnd Property Public Property Get variateIDArrvariateIDArr = m_variateIDArrEnd Property Public Property Let variateIDArr(new_variateIDArr)m_variateIDArr = new_variateIDArrEnd Property Public Property Get variateValueArrvariateValueArr = m_variateValueArrEnd Property ' 注意————之后要改為私有的Public Property Let variateValueArr(new_variateValueArr)m_variateValueArr = new_variateValueArrEnd Property Public Property Get variateDescribeArrvariateDescribeArr = m_variateDescribeArrEnd Property Public Property Let variateDescribeArr(new_variateDescribeArr)m_variateDescribeArr = new_variateDescribeArrEnd Property Public Property Get classifiedNumberArrclassifiedNumberArr = m_classifiedNumberArrEnd Property Public Property Let classifiedNumberArr(new_classifiedNumberArr)m_classifiedNumberArr = new_classifiedNumberArrEnd Property ' 建立兩個映射Public Sub createMapping()dim i, nn = ubound(m_variateIDArr)For i = 0 to nm_ivdv.Add m_variateIDArr(i), m_variateValueArr(i)Next For i = 0 to nm_iddv.Add m_variateIDArr(i), m_variateDescribeArr(i)Next End Sub ' 以變量id得到相應變量在現實世界的值Public Function getVariateValue(variateID)getVariateValue = m_ivdv.Item(variateID)End Function' 以變量id得到相應變量在現實世界的描述Public Function getVariateDescribe(variateID)getVariateDescribe = m_iddv.Item(variateID)End Function End ClassFunction praiseWords()dim strstr = "獨立 大方 愛美 善于交際 另類 有耐力 溫柔 體貼 有見識 有儀態 撒嬌 任性 美麗 善良 大方 優雅 文靜 " & _"活潑 率直 可愛 天真 端莊 溫柔 賢惠 多才 俊俏 國色天香 傾國傾城 美艷絕世 清麗絕俗 天生麗質 開朗 賢淑 純潔 " & _"回眸一笑百媚生 沉魚落雁 閉月羞花 貌賽西施 風華絕代 儀態萬端 婉風流轉 美撼凡塵 聘婷秀雅 娥娜翩躚 俏麗多姿 " & _"風姿卓越 顧盼流轉 清絲糾纏 舉步輕搖 明艷不可方物 閉月羞花 沉魚落雁 傾國傾城 溫婉嫻淑 千嬌百媚 儀態萬千 " & _ "美若天仙 美愈天人 不施粉黛天然美 清秀高雅 姿容絕代 玉指如蔥 膚如凝脂 眉如新月 秋波流轉 櫻桃小口 美人微笑轉星眸 " & _"國色天香 花容月貌 明目皓齒 淡掃峨眉 清艷脫俗 香肌玉膚 艷冠群芳 剪水雙瞳 美艷絕倫 神仙玉骨 楚楚動人 脫俗 " & _"如花似玉 傾國傾城 靜若處子 動若脫兔 螓首蛾眉 淡妝濃抹 雙瞳剪水 貌美如花 姿容絕代 玉指如蔥 膚如凝脂 清秀高雅 " & _"絕代佳人 仙姿佚貌 冰肌玉骨 眉目如畫 環肥燕瘦 眉清目秀 千嬌百媚 梨花帶雨 清艷脫俗 妖嬈動人 艷光四射 淡掃峨眉 " & _"儀態萬端 婉風流轉 美撼凡塵 聘婷秀雅 嬌小玲瓏 小家碧玉 粉裝玉琢 夭桃秾李 美如冠玉 紅飛翠舞 齒白唇紅 綽約多姿 " & _"美若天仙 美愈天人 貌賽西施 美艷絕世 娥娜翩躚 俏麗多姿 艷冠群芳 剪水雙瞳 秋波流轉 櫻桃小口 空谷幽蘭 眉如新月 " & _"清麗脫俗 花容月貌 明眸皓齒 天生麗質 亭亭玉立 如花似玉 花枝招展 出水芙蓉 宛轉蛾眉 靡顏膩理 粉妝玉琢 月里嫦娥 " & _"國色天姿 玉貌花容 秀外惠中 仙姿玉貌 美艷絕倫 神仙玉骨 楚楚動人 顧盼流轉 唇紅齒白 風情萬眾 顧盼生姿 明眸善睞 " & _"齒如編貝 目若朗星 明眸皓齒 恍若天人 沉魚落雁 傾國傾城 國色天香 閉月羞花"dim strArrstrArr = split(str, " ")n = UBound(strArr)ran = GetRandomInt(1, n)praiseWords = strArr(ran) End FunctionFunction GetRandomInt(m,n)dim ranran = Second(Now) * 3While ran > n Or ran < mIf ran > n Thenran = ran - day(Now)End IfIf ran < m Thenran = ran + Second(Now)End IfWendGetRandomInt = ran End Function

總結

以上是生活随笔為你收集整理的【VBS】超级实用小实例:仅用数字编号打开任意指定文件夹(超超超级全面指南)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲少妇天堂 | 久久这里只有精品1 | 国产一区观看 | 久久久久国产精品厨房 | 热久久精品在线 | 久久激情视频 久久 | 国产精品成人一区二区三区吃奶 | 日韩免费二区 | 日韩黄色av网站 | 在线小视频国产 | 九九国产精品视频 | 久久久久久久影视 | 久久久免费视频播放 | 在线观看亚洲国产 | 精品自拍网 | 成人精品一区二区三区中文字幕 | www日韩高清 | 免费欧美精品 | www免费| 国产一二区精品 | 午夜精品三区 | 99视频在线免费播放 | 久久久精品网站 | 久久久久久久久久久久久久电影 | 精品视频在线看 | 亚洲精品乱码久久久久v最新版 | 久草网站在线观看 | 国产一级免费电影 | 激情av在线播放 | 久久99精品热在线观看 | 黄色的视频网站 | 五月丁色| 在线观看中文字幕dvd播放 | 欧美综合在线观看 | 久久免费视频一区 | 久久精品视频在线免费观看 | 色综合在| 五月天狠狠操 | 日韩在线小视频 | 2021久久| 免费黄色网址网站 | 日韩欧美一区二区三区在线观看 | 欧美日韩视频在线观看免费 | 三级av片 | 日本资源中文字幕在线 | 欧美精品在线一区 | 欧美激情第28页 | 亚洲三级在线免费观看 | 国产免费观看久久黄 | 国产一区在线免费观看 | 国产高清专区 | 91免费高清视频 | 99一级片| 97色免费视频| www.五月天色 | 天天干.com | 婷婷综合导航 | 91视频在线看 | 欧美精品久久久久久久 | 国产在线毛片 | 五月天丁香 | 精品久久久99| 超碰97在线资源站 | 天天干天天拍天天操 | 久久99精品久久久久久久久久久久 | 欧美精品国产综合久久 | 日韩免费在线播放 | 国产成人精品久久久 | 亚洲国产大片 | 亚洲精品色视频 | 国产视频 亚洲视频 | 午夜免费福利片 | 成人免费视频网站在线观看 | 91福利社在线观看 | 欧美日韩破处 | 中文字幕在 | 久久久999精品视频 国产美女免费观看 | 日日夜夜精品网站 | 97超碰人人看 | 免费观看国产视频 | 国产手机在线观看 | 国产精品久久久久久av | 日韩午夜一级片 | 成年人在线观看视频免费 | 久草免费资源 | 在线亚洲免费视频 | 91精品国自产在线观看欧美 | 国产精品久久久久亚洲影视 | 在线观看v片 | 人人看人人爱 | 国产精品久久99精品毛片三a | 日本久久视频 | 成人影音av | 久久久久久久网站 | 精品欧美一区二区三区久久久 | 在线中文字幕一区二区 | 亚洲欧洲中文日韩久久av乱码 | 国产成人精品一区二区三区在线观看 | 免费看片网页 | 日韩一三区| 美女在线免费观看视频 | 91九色丨porny丨丰满6 | 久久国产精品免费 | 久99久在线| 成人黄色电影在线 | 91久久久久久久一区二区 | 国产精品综合在线观看 | 中文字幕日韩在线播放 | 五月婷综合 | 欧美亚洲另类在线视频 | 国产三级国产精品国产专区50 | 亚洲日日射 | 日本久久综合视频 | 欧美一区二区在线刺激视频 | 在线观看免费视频 | 久久国产麻豆 | 久青草视频在线观看 | 高清精品久久 | 99久热在线精品视频观看 | 日韩不卡高清 | 国产精品欧美久久久久无广告 | 激情网婷婷 | 日韩中文字幕亚洲一区二区va在线 | 亚洲3级 | 国产99久久久久久免费看 | 亚洲欧美在线视频免费 | 婷婷六月综合网 | 亚洲最新视频在线 | 五月激情站| 婷婷久久五月天 | 日日爱网站 | 超碰在线人人爱 | 1024手机在线看 | 成人免费观看完整版电影 | 九九九热精品免费视频观看网站 | 国产精品成人一区二区三区 | 国产成人精品一区二区在线观看 | 精品一区 在线 | 99精品观看 | 成人小视频在线观看免费 | 91精品国产综合久久久久久久 | 91豆花在线观看 | 草免费视频 | 探花视频免费在线观看 | 91九色国产视频 | 亚洲精品在线观看网站 | 精品毛片在线 | 四虎成人精品永久免费av | 看片网站黄色 | 免费a v在线| 日韩午夜av | 国内精品久久久久影院日本资源 | 丁香婷婷久久 | 日韩av网站在线播放 | 成年人天堂com | 国产免费美女 | www.久艹 | 午夜电影中文字幕 | 久久综合九色综合网站 | 奇米四色影狠狠爱7777 | 天天拍夜夜拍 | 久久久午夜精品理论片中文字幕 | 99精品黄色片免费大全 | 97精品免费视频 | 99精品国产99久久久久久福利 | 97视频总站| 日本久久中文 | 99 久久久久 | 91传媒激情理伦片 | 国产亚洲精品福利 | 亚洲精品999 | 在线观看中文字幕亚洲 | 中文字幕av免费在线观看 | 欧美成人精品三级在线观看播放 | 欧美日韩一级在线 | 国产69精品久久app免费版 | 美女视频黄色免费 | 欧美人zozo| 亚洲理论在线观看 | 激情自拍av | 精品视频免费观看 | 色综合久久久久久中文网 | 97精品一区二区三区 | 99久久综合狠狠综合久久 | 丁香影院在线 | 国产真实精品久久二三区 | 亚洲aⅴ在线观看 | 日韩视频一区二区三区在线播放免费观看 | 国产一级一级国产 | 日本黄色免费电影网站 | 五月天,com | 一区二区中文字幕在线播放 | 亚洲乱码国产乱码精品天美传媒 | 亚洲精品国产精品国自产 | 国产黄色资源 | 国产亚洲精品久久久久久 | 久久免费视频精品 | 精品视频在线视频 | 丝袜+亚洲+另类+欧美+变态 | 午夜精品一区二区三区免费 | 在线观看视频一区二区三区 | 麻豆成人精品 | 首页国产精品 | 免费看一及片 | 亚洲人毛片 | 亚洲精品一区二区精华 | a级国产片| 国产精品精品久久久 | a视频在线播放 | 久久久久久久久久久久久久av | 草久热 | 欧美精品一区二区在线观看 | 麻豆影视网| 免费视频久久 | 免费看的黄色片 | 亚洲一级免费观看 | 婷婷资源站 | 免费在线观看av网站 | 不卡电影免费在线播放一区 | 五月婷婷丁香 | 蜜桃视频色 | 亚洲网久久 | 国产精品久久网 | 五月的婷婷 | 9ⅰ精品久久久久久久久中文字幕 | 爱干视频| 999久久久久久久久6666 | 九九热国产视频 | 国产一二区免费视频 | 激情综合啪啪 | 伊人影院在线观看 | 国产色在线 | 婷婷日| 国产艹b视频| 综合五月 | 人人看人人爱 | 天天插天天干天天操 | 天天草视频| 日本久久精 | 天天干天天干天天操 | 操操综合网 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 国产成人精品av在线观 | 国产精品情侣视频 | 久久久久国产一区二区三区 | 狠狠干激情 | 狠狠色丁香婷婷综合 | av电影av在线 | 综合激情 | 精品国产一区二区三区四区vr | 亚洲一级久久 | 天堂av在线7 | 人人爽人人插 | 女人高潮特级毛片 | 欧美aaa一级 | 波多野结衣一区二区 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 正在播放一区 | 国产免费a | 亚洲情感电影大片 | 国产999精品久久久久久 | 亚洲午夜精品久久久 | 亚洲性视频 | 91少妇精拍在线播放 | 奇米网8888| 欧美一区二区免费在线观看 | 在线久草视频 | 五月丁香| 人人天天夜夜 | 久久综合九色九九 | 9热精品 | 欧美在线1区 | 最新av网址大全 | 国产一级免费片 | 999久久久欧美日韩黑人 | 久久人人97超碰国产公开结果 | 国色天香在线观看 | 欧美激情奇米色 | 欧美一级性生活视频 | 五月婷婷天堂 | 久久久久久久久久网 | 五月婷婷色 | 黄色大全视频 | 久久精品视频网址 | 国产欧美最新羞羞视频在线观看 | 最新av在线网址 | av黄色免费在线观看 | 久久精品一区二区三区四区 | 五月天网页 | 99久久婷婷国产综合亚洲 | 国产福利91精品一区 | 99精彩视频| 欧美一二三区在线观看 | 日批视频 | 亚洲人在线 | av在线小说 | 91网在线看| 粉嫩av一区二区三区入口 | 中文字幕av电影下载 | 91日韩精品一区 | 亚洲国产最新 | 91新人在线观看 | 人人看97 | 免费看黄在线网站 | 久久久亚洲网站 | 久久国产精品精品国产色婷婷 | 国产免费观看高清完整版 | 天天色综合三 | 黄色成人av网址 | 天天激情 | 国产理论影院 | 综合久久久 | 99精品国产福利在线观看免费 | 午夜婷婷在线播放 | 久久视频6 | 色婷婷视频| 黄色软件在线看 | 午夜免费福利视频 | 精品视频免费久久久看 | 亚洲日本国产精品 | 久久婷婷精品视频 | 久久一区二区三区超碰国产精品 | 日韩免费网址 | 欧美日韩在线观看一区 | 亚洲精品免费在线播放 | 91av免费观看 | 91精品国产麻豆 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 欧美一级免费黄色片 | 在线观看91视频 | 香蕉视频国产在线观看 | 伊人色**天天综合婷婷 | 中文字幕日韩有码 | 久久久久久久久国产 | 韩国av永久免费 | 亚洲国产经典视频 | 免费观看mv大片高清 | 久久97视频| 456成人精品影院 | 国内精品免费久久影院 | 亚洲在线看 | 国产一区二区三精品久久久无广告 | 成人久久精品视频 | 午夜三级理论 | 444av| 国产一区在线看 | 国产精品毛片久久 | 深爱激情五月网 | 精品国产伦一区二区三区观看方式 | 久久午夜免费视频 | 特及黄色片 | 国产一级视频在线 | 国产成人av片 | 国产精品福利在线播放 | 国产精品国内免费一区二区三区 | 欧美做受高潮 | 亚洲精品在线一区二区 | 三级黄色片在线观看 | 91成人精品视频 | 国产精品久久久久久五月尺 | 欧美日韩久 | 毛片美女网站 | 成人性生交大片免费观看网站 | 久艹在线免费观看 | 亚洲成熟女人毛片在线 | 高清国产在线一区 | 天堂在线一区二区三区 | 国产在线视频一区二区三区 | 午夜av不卡 | 日韩在线看片 | www.夜夜操 | 日韩欧美一区二区在线播放 | 亚州激情视频 | 中文有码在线视频 | 久久久国产毛片 | 日韩精品免费在线播放 | 亚洲精品中文字幕在线观看 | 中文字幕在线看视频 | 亚洲国产欧美在线人成大黄瓜 | 中文字幕 国产视频 | 日韩av一区二区三区四区 | 久久免费美女视频 | 亚洲人成综合 | 91麻豆产精品久久久久久 | 综合久久网站 | 成人三级网址 | 最新av网站在线观看 | 天天干人人干 | 欧美激情视频在线观看免费 | 国产成人精品福利 | 日韩精品久久久久久 | 免费观看一级一片 | 色婷婷激情电影 | 亚洲综合视频在线观看 | av黄色国产 | 精品国产一区二区三区av性色 | 热久久视久久精品18亚洲精品 | 在线 高清 中文字幕 | 久久国产精品99国产 | 欧美一区二区在线刺激视频 | 91黄色视屏 | 国产精品久久久久久久久久ktv | 久久久午夜剧场 | 亚洲一区欧美激情 | 18国产精品福利片久久婷 | 日韩中文字幕在线观看 | 亚洲国产免费 | 亚洲精品18p | 亚洲最新毛片 | 天天天天爽| 激情婷婷色 | 91看片网址 | 国产亚洲精品美女久久 | 中文在线免费一区三区 | 欧美另类性 | 国产成人亚洲在线观看 | 国产剧情在线一区 | 人人讲下载 | 久久国产精品99久久久久 | 久久综合久久综合九色 | 日韩在线观看免费 | 麻豆91在线看 | 久久久久久久久影视 | 娇妻呻吟一区二区三区 | 国产精品国内免费一区二区三区 | 色综合天天综合在线视频 | 久久精品网站视频 | 最新成人在线 | 免费91在线 | 久久中文字幕视频 | 亚洲成av人片在线观看香蕉 | 狠狠狠色丁香综合久久天下网 | 日本九九视频 | 久久久久国产视频 | 在线视频91 | www.av免费 | 久久99国产精品免费 | 日本天天操 | 亚洲视频 在线观看 | 亚洲片在线 | 欧美日韩大片在线观看 | 91在线区| 国语久久 | 在线观看精品国产 | 99精品国产在热久久 | 国产资源在线播放 | 久久久久高清毛片一级 | 午夜三级毛片 | 久久久国产一区 | 在线免费精品视频 | 少妇搡bbb| 玖玖视频 | 国产原创在线视频 | 国产精品99久久99久久久二8 | 91日韩在线专区 | 91麻豆高清视频 | 又色又爽又黄高潮的免费视频 | 一区二区三区四区影院 | 六月丁香综合网 | 久久久亚洲国产精品麻豆综合天堂 | 97超碰成人| 精品国产一区二区三区四区vr | 黄色av影视 | 亚洲精品字幕 | 国产伦理一区 | 天天拍天天干 | 国产一区二区在线免费视频 | 日本夜夜草视频网站 | 欧美精品久久久久久久亚洲调教 | 91免费版在线 | 丁香激情综合国产 | 国产又粗又猛又爽又黄的视频免费 | 久久久久 | 久久久久久久久久久久电影 | 一区二区三区在线免费观看 | 日韩美女免费线视频 | 国产精品一区二区无线 | 婷婷丁香九月 | 三级av黄色| 93久久精品日日躁夜夜躁欧美 | 国产一卡二卡在线 | 国产片网站 | 婷婷国产v亚洲v欧美久久 | 日韩精品字幕 | 免费视频成人 | 综合影视 | 亚洲情婷婷 | adn—256中文在线观看 | 日韩欧美高清一区二区三区 | 91丨九色丨国产女 | 久久久黄视频 | 久久精品最新 | 69热国产视频 | 久久久久久久网 | 91麻豆精品一区二区三区 | 成人久久18免费网站图片 | 狠狠色丁香婷婷综合久久片 | 狠狠色丁香婷婷综合久久片 | 色香蕉在线 | 99热国产精品 | 日韩无在线 | www在线观看视频 | 天无日天天操天天干 | 久久综合五月天婷婷伊人 | 色a网| 超碰人人草 | 少妇bbb好爽 | 欧美色图东方 | 国产在线观看午夜 | 九九视频一区 | 中文字幕在线不卡国产视频 | 99精品国产免费久久久久久下载 | 国产精品18毛片一区二区 | 精品一区二区三区在线播放 | 国产精品久久久久久久毛片 | 在线免费观看视频一区二区三区 | 久久一区二区三区超碰国产精品 | 黄色小说视频网站 | 国产成人精品电影久久久 | 天堂中文在线视频 | 狠狠干我 | 日韩欧美电影在线观看 | 国产精品毛片一区视频播不卡 | 综合在线观看 | www黄免费| 日本中文字幕在线免费观看 | 国产日韩欧美在线 | 亚洲成人av片在线观看 | www.色就是色| 亚洲一级片 | 色综合天天色 | 国产精品va在线观看入 | 一区二区在线不卡 | 国产精品观看视频 | 九九久久久久久久久激情 | 久久精品综合 | 一区在线观看 | www免费黄色 | 在线黄色免费av | 成人av在线看 | 国产亚洲字幕 | 日韩久久激情 | 亚洲精品乱码久久久久久9色 | 五月婷婷六月丁香 | 国产美女免费观看 | 国产精品高 | 欧美久久综合 | 天天干天天做天天爱 | 免费大片黄在线 | 久久这里只有精品久久 | 天天干天天摸 | 不卡av在线 | 欧美日韩视频在线观看免费 | 免费无遮挡动漫网站 | 国产高清专区 | 九九九免费视频 | 亚州精品视频 | 国产一区二区三区免费视频 | 91在线国内视频 | av综合 日韩| 最近中文字幕完整视频高清1 | 成人免费看电影 | 久久爱影视i | 综合在线观看 | 日韩在线免费播放 | 亚洲少妇激情 | 国产午夜在线 | 久草精品视频在线观看 | 国产视频1 | 亚洲欧洲视频 | 69xx视频| 福利视频 | av久久在线| 亚洲精品网站在线 | 亚洲黄色一级大片 | 不卡的av中文字幕 | 午夜在线观看一区 | 天天干天天干 | 干天天| 99久久精品国产一区二区三区 | 天天爽夜夜爽人人爽一区二区 | 激情中文在线 | 久久99久久精品 | 在线观看免费av片 | 欧美日韩另类在线观看 | www日韩在线观看 | 国产正在播放 | 色婷婷色 | 91精品在线观看视频 | 亚洲福利精品 | 久久精品女人毛片国产 | 激情综合国产 | 在线看日韩 | 日韩天天操| 97视频在线免费 | 久久久久久网址 | 日本久久久影视 | 久久综合99 | 射综合网 | 亚州天堂| 91九色综合 | 亚洲黄色一级大片 | 激情综合啪 | 国产在线观 | 激情视频一区二区 | 婷婷久久网 | 亚州精品成人 | 日韩亚洲国产中文字幕 | 波多野结衣一区二区 | 美女视频国产 | 日韩在线欧美在线 | 免费在线观看日韩 | 国产一区二区三区免费视频 | 国产91精品看黄网站 | 亚洲精品在线观 | 国产午夜一级毛片 | 国产成人精品一区一区一区 | 成人免费一区二区三区在线观看 | 国产精品mv | 国产一区福利在线 | 激情丁香 | 免费色网| 精品国产一区二区三区免费 | 福利片免费看 | 国产录像在线观看 | 92国产精品久久久久首页 | 日韩激情在线视频 | 日本性xxxxx 亚洲精品午夜久久久 | 91精品一区二区三区久久久久久 | 日韩xxxx视频 | 狠狠干免费 | 国产99在线 | 又黄又刺激 | 99这里有精品 | 成人黄色免费在线观看 | 久久精品毛片 | 久草久草视频 | 日韩美一区二区三区 | 波多野结依在线观看 | 99亚洲精品| 91高清视频免费 | 欧美色综合久久 | 色婷婷成人网 | 亚洲精品国产精品久久99热 | 97人人澡人人添人人爽超碰 | 国产91在线播放 | 久久久久国 | 久久久2o19精品 | 韩国三级av在线 | 欧美片一区二区三区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲黄色免费在线看 | 久久午夜影视 | 国产三级精品在线 | 韩国av免费观看 | 久久视频这里有久久精品视频11 | 国产高清免费视频 | 欧美大码xxxx | www欧美xxxx | 色综合五月 | 成人免费在线观看电影 | 免费高清在线观看成人 | 久久婷婷亚洲 | 欧美精品乱码久久久久久按摩 | 美女国产精品 | 中文资源在线播放 | 人人擦 | 亚洲mv大片欧洲mv大片免费 | 亚洲高清资源 | 一级黄色片在线播放 | 久久综合影音 | 欧美性另类 | 久久免费av电影 | 亚洲一区网 | 久久久久久久国产精品 | 久久综合九色综合97婷婷女人 | 丁香六月av | 99精品偷拍视频一区二区三区 | 日韩高清成人 | 日韩欧美高清在线 | 91女神的呻吟细腰翘臀美女 | 久久99中文字幕 | 九九欧美| 中文字幕精品三级久久久 | 精品一区二区三区香蕉蜜桃 | 日韩免费视频线观看 | 日韩精品一区电影 | 日韩欧美有码在线 | 日韩精品观看 | 成年人看片 | 亚洲第一av在线 | 日韩免费看的电影 | 久久精品视频在线免费观看 | 日韩一级黄色av | 波多野结衣在线播放一区 | 在线www色| 九九热视频在线播放 | 日韩久久精品一区二区 | 亚洲精品婷婷 | 999久久国产 | 国产精品露脸在线 | 在线观看成人 | 美女视频黄频大全免费 | 丁五月婷婷 | 免费看污的网站 | 人人澡人人草 | 国产精品中文字幕av | 久操视频在线免费看 | 久久91久久久久麻豆精品 | 国产又粗又猛又黄又爽的视频 | 婷婷开心久久网 | 99色婷婷 | 伊人天堂av | 国产精品亚洲片在线播放 | 91成人免费看 | 奇米影视8888在线观看大全免费 | 欧美黄色免费 | 国产精品久久精品 | 国产精品久久久久久久午夜片 | 日韩.com | 黄色视屏av | 在线黄色免费 | 欧美精品二 | 久久婷婷五月综合色丁香 | 亚洲午夜久久久久久久久 | 国产精久久久 | 国产一二区视频 | 在线激情网 | 人人爽网站| 成x99人av在线www | 日日夜夜免费精品视频 | 国产a级片免费观看 | 国色天香在线观看 | 亚洲小视频在线观看 | av一区二区在线观看中文字幕 | 国产一级久久久 | 国产精品热视频 | 亚洲国产综合在线 | a√资源在线 | 永久免费看av| 国产91精品在线播放 | 五月天色中色 | 精品久久一区二区三区 | 日韩高清av在线 | 国产二级视频 | 国产在线欧美日韩 | 国产一卡久久电影永久 | 色婷婷免费视频 | 国产一区视频免费在线观看 | 91视频免费视频 | 中文av一区二区 | 久久免费av | av综合站 | 国产精品一区欧美 | 97日日碰人人模人人澡分享吧 | 超碰精品在线观看 | 亚洲综合小说电影qvod | 天天插一插 | 美腿丝袜一区二区三区 | 久久久久国产精品www | a黄色影院 | av在线最新| 中文字幕 二区 | 久久久高清免费视频 | 亚洲成av人片在线观看www | 亚洲视屏 | 女人18片| 草樱av | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 天天人人 | 久99久在线视频 | 日韩视频免费看 | 99国产成+人+综合+亚洲 欧美 | 午夜黄色一级片 | 99国内精品久久久久久久 | 精品在线观看免费 | 69av视频在线观看 | 国产伦精品一区二区三区在线 | 日韩精品一区二区三区免费视频观看 | 日韩午夜在线观看 | 国产美女被啪进深处喷白浆视频 | 在线午夜电影神马影院 | 国产亚洲精品免费 | 97久久久免费福利网址 | 爱干视频| 国产无吗一区二区三区在线欢 | 91 在线视频播放 | 91伊人久久大香线蕉蜜芽人口 | 色综合天天色综合 | www色综合 | 天天操天天射天天插 | 四虎在线视频 | 久久久久久国产精品亚洲78 | 久久久国内精品 | 亚洲综合在线视频 | 一区二区三区四区五区在线 | 久草免费色站 | 有码中文在线 | 色综合久久88色综合天天人守婷 | 免费精品人在线二线三线 | 日韩av中文字幕在线免费观看 | 午夜视频免费在线观看 | 香蕉影视在线观看 | 久久韩国免费视频 | 国内外激情视频 | 日本99久久| 中文字幕一区二区三区乱码在线 | 日韩性久久 | 亚洲专区中文字幕 | www.黄色片网站 | 99免费精品视频 | 2018亚洲男人天堂 | 欧美一级在线观看视频 | 欧美天天射 | 国产精品久久久久久婷婷天堂 | 亚洲伊人色 | 伊人永久 | 黄色资源在线观看 | 在线中文字幕一区二区 | 国产免费一区二区三区网站免费 | 欧洲精品码一区二区三区免费看 | 福利久久 | 日韩欧美高清在线观看 | 国产成人中文字幕 | 在线免费中文字幕 | 午夜在线免费观看视频 | 91最新视频在线观看 | 午夜av免费观看 | 欧美a级在线 | 亚洲国产精品va在线看 | 免费在线一区二区三区 | 亚洲欧洲成人 | 免费一区在线 | 天天插日日操 | 992tv又爽又黄的免费视频 | 天天透天天插 | 国产一区福利 | 久草在线手机观看 | av三级在线免费观看 | 国产精品久久久久影院日本 | 在线亚洲小视频 | 丁香久久综合 | 色五婷婷| 91大神精品视频在线观看 | 91爱爱视频 | 国产精品高清免费在线观看 | 国产精品美女免费看 | 91丨九色丨蝌蚪丨老版 | 米奇四色影视 | 91色影院| 亚洲国内精品 | 亚洲精品乱码久久久久久蜜桃不爽 | 成人午夜免费福利 | 人人爱天天操 | 99视频国产在线 | 91精品国产福利 | a电影在线观看 | 免费在线黄色av | 美女精品在线 | 久久激情五月丁香伊人 | 精品一区二区综合 | 日韩特黄一级欧美毛片特黄 | 亚洲在线视频免费 | 国产精品久久久久久久婷婷 | 国产精品视频你懂的 | 婷婷五天天在线视频 | 亚洲一区欧美激情 | 日韩欧美视频在线 | 国产五月婷 | 久久福利小视频 | 在线免费观看麻豆视频 | 丝袜美腿一区 | 国产免费二区 | 婷婷丁香在线 | 九九视频热| 成人a v视频 | 婷婷色婷婷 | 日韩三级在线 | 一区二区三区韩国免费中文网站 | 91人人爽人人爽人人精88v | 在线观看91久久久久久 | 久久成人麻豆午夜电影 | 日韩电影一区二区三区在线观看 | 天天操夜夜做 | 色在线免费观看 | 国产一级片免费观看 | 免费观看黄| 国产一区二区三区在线免费观看 | 欧美不卡在线 | 婷婷六月网| 亚洲美女精品视频 | 婷婷综合av | 一区av在线播放 | 成人免费观看视频网站 | 天天综合网入口 | 亚洲波多野结衣 | 国产精品 国内视频 | 91视频免费看网站 | 国产一区二区三区高清播放 | 美女一二三区 | 国产精品资源在线 | 国产成人精品av | 成人黄色av免费在线观看 | 成片视频免费观看 | 91精选在线观看 | 亚洲mv大片欧洲mv大片免费 | 成人一区在线观看 | 一级特黄aaa大片在线观看 | 激情黄色一级片 | 国产网红在线观看 | 亚洲一二三区精品 | 免费日韩在线 | 中文在线a天堂 | 色噜噜在线观看 | 日韩一二三区不卡 | 国产理论在线 | 亚洲欧美怡红院 | 久久草网| 国产亚洲免费的视频看 | 国产一区二区在线免费播放 | 天天色成人 | 成人精品99 | 96香蕉视频 | 91在线你懂的 | 日本高清xxxx| 黄网站免费大全入口 | 午夜色场 | 国产精品美女毛片真酒店 | 久在线观看视频 | 九九九在线观看 | 久久综合电影 | 亚洲欧美视频在线播放 | 国产精久久久久久久 | 中文字幕在线第一页 | 五月婷婷久草 | 中文不卡视频在线 | 97超碰在线久草超碰在线观看 | 91av在线免费视频 | 国产视频在线播放 | 中文字幕视频三区 | 91爱在线 | 91免费黄视频 | 成人动漫一区二区三区 | 丁香婷婷综合激情 | 国产色妞影院wwwxxx | 天天人人综合 | 不卡av电影在线 | 高清不卡免费视频 | 一区在线观看视频 | 在线小视频 | 女人18精品一区二区三区 | 日韩理论片在线观看 | 亚洲精品看片 | 亚洲伊人成综合网 | 91在线看黄 | 国产亚洲综合精品 | 伊人色综合久久天天网 | 久久久久久综合网天天 | 中文在线8资源库 | 久久综合干 | 人人插人人做 | 国产在线观看午夜 | 日本精品久久久久影院 | 日韩在线 一区二区 | 国产精品国产自产拍高清av | 网站在线观看你们懂的 | 国产 字幕 制服 中文 在线 | 欧美一区在线观看视频 | www99久久| 成人久久精品 | 色婷婷97 | 精品日韩在线一区 | 一本一道久久a久久精品 | 国产一级视频免费看 | 日日夜夜综合网 | av一区二区在线观看中文字幕 | 免费黄色特级片 | 久久高清免费视频 | 亚洲在线视频网站 | 狠狠色丁香久久婷婷综合_中 | 精品久久久久久久久亚洲 | 干综合网 | 国产精品二区三区 | 国产在线精品播放 | 91精品国产成 | 亚洲三级av| 在线国产视频一区 | 99精品视频免费看 | 欧美日韩午夜在线 | 久久精品99国产 | 国产五月色婷婷六月丁香视频 | 日韩激情片在线观看 | 欧美人人爱 | 日韩在线观看视频中文字幕 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产黄网站在线观看 | 99麻豆视频 | 在线观看视频免费播放 |