欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

vb

當(dāng)前位置:主頁 > 軟件編程 > vb >

用vbs實(shí)現(xiàn)按創(chuàng)建日期的順序列出一個(gè)文件夾中的所有文件

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:vb|點(diǎn)擊: 次

問:
你好,腳本專家!如何按創(chuàng)建日期的順序列出一個(gè)文件夾中的所有文件?

-- CL

答:
你好,CL。您知道,如果我們雄心勃勃并且努力工作,我們會(huì)坐下來為您寫一個(gè)腳本,以使用 WMI 返回一個(gè)文件夾中的所有文件。該腳本將獲取有關(guān)所有這些文件的信息,并將該數(shù)據(jù)存儲(chǔ)在未連接的記錄集中。然后,在該記錄集中設(shè)置排序順序以按創(chuàng)建日期和時(shí)間對(duì)文件進(jìn)行排列。(接著,我們進(jìn)行大量的重復(fù)性工作,以將 WMI 的日期時(shí)間值轉(zhuǎn)換為易讀的日期時(shí)間格式。)最后,我們將記錄集中的所有值回顯到屏幕上。它需要花費(fèi)大量時(shí)間并編寫許多代碼,但最終您會(huì)得到已排序的文件列表,而且每個(gè)人都會(huì)說“哇,那些腳本專家真是為讀者盡心盡力,不是嗎?”

而事實(shí)上,我們并非雄心勃勃和努力工作;我們只是腳本專家。作為腳本專家,我們一直在尋找最快速、最簡(jiǎn)便的解決問題的方法。因此,我們沒有去寫一個(gè)冗長(zhǎng)而復(fù)雜的腳本,而是弄來了一份 Log Parser 2.2,并匆忙完成了以下幾行代碼:

復(fù)制代碼 代碼如下:

Set objLogParser = CreateObject("MSUtil.LogQuery") 
Set objInputFormat = CreateObject("MSUtil.LogQuery.FileSystemInputFormat") 
objInputFormat.Recurse = 0 

Set objOutputFormat = CreateObject("MSUtil.LogQuery.NativeOutputFormat") 
objOutputFormat.rtp = -1 

strQuery = "SELECT Name, CreationTime FROM 'C:\Scripts\*.*' " & _ 
    "WHERE NOT Attributes LIKE '%D%' ORDER BY CreationTime" 
objLogParser.ExecuteBatch strQuery, objInputFormat, objOutputFormat 

猜猜看?此腳本不但能正常工作,還能返回文件列表(按創(chuàng)建日期和時(shí)間排序),而不管實(shí)際情況怎樣。太酷了。

當(dāng)然,我們通常建議不使用非操作系統(tǒng)內(nèi)置的解決方案;因?yàn)槲覀儾幌胱屓藗兿螺d和安裝一些不是絕對(duì)必需的東西。然而,當(dāng)要列舉文件時(shí),很有必要下載和安裝 Log Parser;當(dāng)您不得不獲得有關(guān)一組文件的信息時(shí),您會(huì)發(fā)現(xiàn) Log Parser 方法優(yōu)于 WMI 或 FileSystemObject。Log Parser 的七八行代碼比得上 WMI 的六七十行代碼嗎?我們會(huì)把決定權(quán)留給您。

我們不會(huì)花時(shí)間介紹有關(guān) Log Parser 的所有信息;有關(guān)詳細(xì)信息,您可以參閱“腳本故事”專欄您需要的所有內(nèi)容就是日志(即 Log Parser)。現(xiàn)在,我們只需注意,腳本從創(chuàng)建 Log Parser 對(duì)象的實(shí)例開始,使用易記憶的名稱 MSUtil.LogQuery 以便于更好的記憶。然后,我們創(chuàng)建兩個(gè)其他對(duì)象,第一個(gè)指定我們正在使用的對(duì)象(在此情況下為文件系統(tǒng),雖然我們也可以使用事件日志、Active Directory、注冊(cè)表和其他項(xiàng)),第二個(gè)指明我們要使用的輸出類型(在此示例腳本中,我們要做的所有事情就是將數(shù)據(jù)寫入命令窗口)下列兩行代碼創(chuàng)建輸入對(duì)象,并告訴 Log Parser 不從任何子文件夾檢索文件:

Set objInputFormat = CreateObject("MSUtil.LogQuery.FileSystemInputFormat")
objInputFormat.Recurse = 0

如果我們確實(shí)要檢索任意或所有子文件夾的值,該怎么辦?在該情況下,我們必須要做的所有事情就是將 Recurse 屬性的值設(shè)置為 -1:

objInputFormat.Recurse = -1

同時(shí),下列兩行代碼創(chuàng)建輸出對(duì)象,并告訴 Log Parser 顯示所有數(shù)據(jù)而不要暫停:

Set objOutputFormat = CreateObject("MSUtil.LogQuery.NativeOutputFormat")
objOutputFormat.rtp = -1

或者,我們可以告訴 Log Parser 顯示 10 行數(shù)據(jù),然后暫停,直到我們按鍵盤上的某個(gè)鍵,然后再顯示下 10 行數(shù)據(jù)。若要按每 10 行一批的規(guī)律顯示數(shù)據(jù),我們必須要做的所有事情就是將 rtp 屬性的值設(shè)置為 10:

objOutputFormat.rtp = 10

接下來配置 SQL 查詢以檢索文件信息。如果您對(duì) SQL 有一些了解,此查詢應(yīng)該相對(duì)容易分析一些;如您所見,我們正要查詢 C:\Scripts 中所有文件的 Name 和 CreationTime。此外,我們要使返回的數(shù)據(jù)按創(chuàng)建日期和時(shí)間順序排列,最先創(chuàng)建的文件排在最前面:

strQuery = "SELECT Name, CreationTime FROM 'C:\Scripts\*.*' " & _
    "WHERE NOT Attributes LIKE '%D%' ORDER BY CreationTime DESC"

此查詢中唯一不尋常的就是 WHERE 子句:WHERE NOT Attributes LIKE '%D%'。不用作過多的解釋,此子句篩選出文件夾,從而只返回文件。包含 Directory 屬性的文件系統(tǒng)對(duì)象就是文件夾;因?yàn)槲覀儾幌胍募A,所以使用 WHERE NOT 語法清除擁有 Directory(縮寫為 %D%)屬性的所有對(duì)象。

最后,調(diào)用 ExecuteBatch 方法來運(yùn)行查詢并將返回的數(shù)據(jù)寫入命令窗口。一兩秒鐘之后,我們將獲得如下所示的內(nèi)容:


我們不需要輸入任何特殊的命令就可以獲得這一精密的表格輸出;Log Parser 為我們處理所有問題。它真是太棒了,不是嗎?

誠(chéng)然,我們不必費(fèi)很大力氣就可以獲得這些結(jié)果。而且它既快捷又簡(jiǎn)便。您可以這么來看:任何人都不必知道我們不努力工作,不是嗎?

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有