導航:首頁 > 文件教程 > shell枚舉文件

shell枚舉文件

發布時間:2022-09-11 08:46:20

A. shell編程如何迅速枚舉

while getopts ":l:c:" opt;do case $opt in l) dict_length=$OPTARG;; c) dict_char=$OPTARG;; \?) echo 'Usage: dict.sh -l dict_length -c "dict_char"' exit 1;; esacdoneshift $(($OPTIND - 1)) #根據字典的長度產生單詞,象這樣:${pi}${pi-1}.....${p1}key_str(){ for((i=$1;i!=0;i--));do pswd=$pswd\${p$i} done} #用字典替換${pi}char_sub(){ idx=$1 for char in $dict_char;do eval p${idx}=$char if [ $idx -gt 1 ];then ((--idx)) char_sub $idx ((++idx)) continue fi eval echo $pswd done}

B. VB 調用DOS批處理命令出錯

主要還是路徑的問題,假設Ldir.Caption的路徑就是app.path,CmbFileFilter.Text ="*.*" ,下面代碼經過驗證可行:

Open App.Path + "\FilesList.BAT" For Output As #1 '建一批處理文件,以獲取文件列表
Print #1, "Dir / b " + LDir.Caption + "\" + CmbFileFilter.Text + " > " + LDir.Caption + "\FilesList.DAT" '執行DOS下的Dir/b命令,將枚舉得到的文件名列表寫入FilesList.DAT中
Print #1, "Pause"
Close #1
Shell "cmd /c " & App.Path + "\FilesList.BAT" 'VB調用Dos命令執行剛才的批處理文件

C. VB如何執行 *.lnk快捷方式

先添加Microsoftscriptingruntime這個引用,裡面有個文件處理的好東西FileSystemObject
利用這個東西搜索所有文件,只要後綴是lnk的,就shell

PrivateSubCommand1_Click()
DimfsAsNewFileSystemObject'文件處理的類
DimfolAsFolder'代表文件夾
DimfAsFile'代表文件

Setfol=fs.GetFolder(App.Path)'獲取程序的路徑,即獲取文件夾

DimenAsString'這個用於文件後綴

ForEachfInfol.Files'遍歷文件夾下所有文件,不會進入子文件夾的,f就是文件
en=fs.GetExtensionName(f)'獲取文件的後綴,不知是lnk還是.lnk還是*.lnk,調試一下就知道了
IfLCase(en)="lnk"Then'防止後綴大小寫不一致,統一大小寫比較
Shellf.Name'f.name應該是文件全路徑了,如果不是,就自己組合一下
EndIf
Next

EndSub

代碼沒調試,可以中斷一下看fs.GetExtensionName(f) 這個獲取後綴返回的東西究竟是什麼樣的,說不定是「 .lnk "

D. 我的CPU利用率總是100%

WinXP中CPU佔用100%原因及解決方法

我們在使用Windows XP操作系統的時候,用著用著系統就變慢了,一看「 任務管理器 」才發現CPU佔用達到100%。這是怎麼回事情呢?遇到病毒了,硬體有問題,還是系統設置有問題,在本文中筆者將從硬體,軟體和病毒三個方面來講解系統資源佔用率為什麼會達到100%。

經常出現CPU佔用100%的情況,主要問題可能發生在下面的某些方面:

CPU佔用率高 的九種可能

1、防殺毒軟體造成 故障

由於新版的 KV 、金山、 瑞星 都加入了對網頁、 插件 、郵件的隨機監控,無疑增大了系統負擔。處理方式:基本上沒有合理的處理方式,盡量使用最少的監控服務吧,或者,升級你的硬體配備。

2、驅動沒有經過認證,造成CPU資源佔用100%

大量的測試版的驅動在網上泛濫,造成了難以發現的故障原因。 處理方式:尤其是 顯卡驅動 特別要注意,建議使用 微軟認證 的或由官方發布的驅動,並且嚴格核對型號、版本

3、 病毒、木馬 造成

大量的蠕蟲病毒在系統內部迅速復制,造成CPU佔用資源率據高不下。解決辦法:用可靠的殺毒軟體徹底清理系統內存和本地硬碟,並且打開系統設置軟體,察看有無異常啟動的程序。經常性更新升級殺毒軟體和防火牆,加強防毒意識,掌握正確的防殺毒知識。

4、控制面板— 管理工具 —服務—RISING REALTIME MONITOR SERVICE 點滑鼠右鍵,改為手動。

5、開始->運行->msconfig->啟動,關閉不必要的啟動項,重啟。

6、查看「 svchost 」進程。

svchost . exe 是Windows XP系統 的一個核心進程。 svchost.exe 不單單只出現 在Window s XP中,在使用 NT 內核的 Windows系統 中都會有svchost.exe的存在。一般在 Windows 2000 中 svchost.exe進程 的數目為2個,而 在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。

7、查看 網路連接 。主要是網卡。

8、查看網路連接

當安裝了Windows XP的計算機做伺服器的時候,收到埠 445 上的連接請求時,它將分配內存和少量地調配 CPU資源來為這些連接提供服務。當負荷過重的時候,CPU佔用率可能過高,這是因為在工作項的數目和響應能力之間存在固有的權衡關系。你要確定合適的 MaxWorkItems 設置以提高系統響應能力。如果設置的值不正確,伺服器的響應能力可能會受到影響,或者某個用戶獨占太 多系統 資源。

要解決此問題,我們可以通過修改注冊表來解決:在 注冊表編輯器 中依次展開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ]分支,在右側窗口中 新建 一個名為「maxworkitems」的 Dword值 。然後雙擊該值,在打開的窗口中鍵入下列數值並保存退出:

如果計算機有512MB以上的內存,鍵入「1024」;如果計算機內存小於 512 MB,鍵入「256」。

9、看看是不是Windows XP使用滑鼠右鍵引起CPU佔用100%

前不久的報到說在資源管理器裡面使用滑鼠右鍵會導致CPU資源100%佔用,我們來看看是怎麼回事?

徵兆:

在資源管理器裡面,當你右鍵點擊一個目錄或一個文件,你將有可能出現下面所列問題:

任何文件的拷貝操作在那個時間將有可能停止相應
網路連接速度將顯著性的降低
所有的流輸入/輸出操作例如使用Windows Media Player 聽音樂將有可能是音樂失真成因:
當你在資源管理器裡面右鍵點擊一個文件或目錄的時候,當快捷 菜單顯示 的時候,CPU佔用率將增加到100%,當你關閉快捷菜單的時候才返回正常水平。

解決方法:

方法一:關閉「為菜單和工具提示使用過渡效果」

1、點擊「開始」--「控制面板」
2、在「控制面板」裡面雙擊「顯示」
3、在「顯示」屬性裡面點擊「外觀」標簽頁
4、在「外觀」標簽頁裡面點擊「效果」

5、在「效果」對話框裡面,清除「為菜單和工具提示使用過渡效果」前面的復選框接著點擊兩次「確定」按鈕。

方法二:在使用滑鼠右鍵點擊文件或目錄的時候先使用滑鼠左鍵選擇你的目標文件或目錄。然後再使用滑鼠右鍵彈出快捷菜單。

CPU佔用100%解決辦法

一般情況下CPU佔了100%的話我們的電腦總會慢下來,而很多時候我們是可以通過做 一點點 的改動就可以解決,而不必問那些大蝦了。

當機器慢下來的時候,首先我們想到的當然是任務管理器了,看看到底是哪個程序佔了較搞的比例,如果是某個大程序那還可以原諒,在關閉該程序後只要CPU正常了那就沒問題;如果不是,那你就要看看是什幺程序了,當你查不出這個進程是什幺的時候就去google或者 搜。有時只結束是沒用的,在 xp下 我們可以結合msconfig里的啟動項,把一些不用的項給關掉。在2000下可以去下個winpatrol來用。

一些常用的軟體,比如瀏覽器佔用了很搞的CPU,那幺就要升級該軟體或者乾脆用別的同類軟體代替,有時軟體和系統會有點不兼容,當然我們可以試下xp系統下給我們的那個兼容項,右鍵點該. exe文件 選兼容性。

svchost.exe有時是比較頭痛的,當你看到你的某個svchost.exe佔用很大CPU時你可以去下個aports或者fport來檢查其對應的程序路徑,也就是什幺東西在掉用這個svchost.exe,如果不是c:\Windows\ system32 (xp)或c:\winnt\system32(2000)下的,那就可疑。升級殺毒軟體殺毒吧。

右擊 文件導致100%的CPU佔用我們也會遇到,有時點右鍵停頓可能就是這個問題了。官方的解釋:先點左鍵選中,再右鍵(不是很理解)。非官方:通過在桌面點右鍵-屬性-外觀-效果,取消」為菜單和工具提示使用下列過度效果(U)「來解決。還有某些殺毒軟體對文件的監控也會有所影響,可以 關閉殺毒軟體 的文件監控;還有就是對網頁,插件,郵件的監控也是同樣的道理。

一些驅動程序有時也可能出現這樣的現象,最好是選擇微軟認證的或者是官方發布的驅動來裝,有時可以適當的升級驅動,不過記得最新的不是最好的。

CPU降溫軟體 ,由於軟體在運行時會利用所以的CPU空閑時間來進行降溫,但Windows不能分辨普通的CPU佔用和 降溫軟體 的降溫指令 之間的區別 ,因此CPU始終顯示100%,這個就不必擔心了,不影響正常的系統運行。

在處理較大的 word文件 時由於word的拼寫和語法檢查會使得CPU累,只要打開word的工具-選項-拼寫和語法把」檢查拼寫和檢查語法「勾去掉。

單擊 avi視頻 文件後CPU佔用率高是因為系統要先掃描該文件,並檢查文件所有部分,並建立索引;解決辦法:右擊保存視頻文件的文件夾-屬性-常規-高級,去掉為了快速搜索,允許索引服務編制該文件夾的索引的勾。

CPU佔用100%案例分析

1、 dllhost進程造成CPU使用率佔用100%

特徵:伺服器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的伺服器,CPU會突然一直處100%的水平,而且不會下降。查看任務管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閑時間,管理員在這種情況下,只好重新啟動IIS服務,奇怪的是,重新啟動IIS服務後一切正常,但可能過了一段時間後,問題又再次出現了。

直接原因:

有一個或多個ACCESS資料庫在多次讀寫過程中損壞,微軟的 MDAC 系統在寫入這個損壞的ACCESS文件時,ASP線程處於BLOCK狀態,結果其它線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。

解決辦法:

安裝「一流信息監控攔截系統」,使用其中的「首席文件檢查官IIS健康檢查官」軟體,

啟用」查找死鎖模塊」,設置:

--wblock=yes
監控的目錄,請指定您的主機的文件所在目錄:
--wblockdir=d:\test

監控生成的日誌的文件保存位置在安裝目錄的log目錄中,文件名為:logblock.htm

停止IIS,再啟動「首席文件檢查官IIS健康檢查官」,再啟動IIS,「首席文件檢查官IIS健康檢查官」會在logblock.htm中記錄下最後寫入的ACCESS文件的。

過了一段時間後,當問題出來時,例如CPU會再次一直處100%的水平,可以停止IIS,檢查logblock.htm所記錄的最後的十個文件,注意,最有問題的往往是計數器類的ACCESS文件,例如:」**COUNT. MDB 」,」**COUNT.ASP」,可以先把最後十個文件或有所懷疑的文件刪除到回收站中,再啟動IIS,看看問題是否再次出現。我們相信,經過仔細的查找後,您肯定可以找到這個讓您操心了一段時間的文件的。

找到這個文件後,可以刪除它,或下載下來,用ACCESS2000修復它,問題就解決了。

2、 svchost.exe造成CPU使用率佔用100%

在win.ini文件中,在[Windows]下面,「run=」和「load=」是可能載入「木馬」程序的途徑,必須仔細留心它們。一般情況下,它們的等號後面什幺都沒有,如果發現後面跟有路徑與文件名不是你熟悉的啟動文件,你的計算機就可能中上「木馬」了。當然你也得看清楚,因為好多「木馬」,如「AOL Trojan木馬」,它把自身偽裝成command.exe文件,如果不注意可能不會發現它不是真正的系統啟動文件。

在system.ini文件中,在[BOOT]下面有個「shell=文件名」。正確的文件名應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程序名」,那幺後面跟著的那個程序就是「木馬」程序,就是說你已經中「木馬」了。

在注冊表中的情況最復雜,通過regedit命令打開注冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴展名為EXE,這里切記:有的「木馬」程序生成的文件很像系統自身文件,想通過偽裝矇混過關,如「Acid Battery v1.0木馬」,它將注冊表「HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」下的Explorer 鍵值改為Explorer=「C:\Windows\expiorer.exe」,「木馬」程序與真正的Explorer之間只有「i」與「l」的差別。當然在注冊表中還有很多地方都可以隱藏「木馬」程序,如:「HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run」、「HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run」的目錄下都有可能,最好的辦法就是在「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」下找到「木馬該病毒也稱為「Code Red II(紅色代碼2)」病毒,與早先在西方英文系統下流行「紅色代碼」病毒有點相反,在國際上被稱為VirtualRoot(虛擬目錄)病毒。該蠕蟲病毒利用Microsoft已知的溢出漏洞,通過80埠來傳播到其它的Web頁伺服器上。受感染的機器可由黑客們通過Http Get的請求運行scripts/root.exe來獲得對受感染機器的完全控制權。

當感染一台伺服器成功了以後,如果受感染的機器是中文的系統後,該程序會休眠2天,別的機器休眠1天。當休眠的時間到了以後,該蠕蟲程序會使得機器重新啟動。該蠕蟲也會檢查機器的月份是否是10月或者年份是否是2002年,如果是,受感染的伺服器也會重新啟動。當Windows NT系統啟動時,NT系統會自動搜索C盤根目錄下的文件explorer.exe,受該網路蠕蟲程序感染的伺服器上的文件explorer.exe也就是該網路蠕蟲程序本身。該文件的大小是8192位元組,VirtualRoot網路蠕蟲程序就是通過該程序來執行的。同時,VirtualRoot網路蠕蟲程序還將cmd.exe的文件從Windows NT的system目錄拷貝到別的目錄,給黑客的入侵敞開了大門。它還會修改系統的注冊表項目,通過該注冊表項目的修改,該蠕蟲程序可以建立虛擬的目錄C或者D,病毒名由此而來。值得一提的是,該網路蠕蟲程序除了文件explorer.exe外,其餘的操作不是基於文件的,而是直接在內存中來進行感染、傳播的,這就給捕捉帶來了較大難度。

」程序的文件名,再在整個注冊表中搜索即可。

我們先看看微軟是怎樣描述svchost.exe的。在微軟知識庫314056中對svchost.exe有如下描述:svchost.exe 是從動態鏈接庫 (DLL) 中運行的服務的通用主機進程名稱。

其實svchost.exe是Windows XP系統的一個核心進程。svchost.exe不單單只出現在Windows XP中,在使用NT內核的Windows系統中都會有svchost.exe的存在。一般在Windows 2000中svchost.exe進程的數目為2個,而在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。所以看到系統的進程列表中有幾個svchost.exe不用那幺擔心。

svchost.exe到底是做什幺用的呢?

首先我們要了解一點那就是Windows系統的中的進程分為:獨立進程和共享進程這兩種。由於Windows系統中的服務越來越多,為了節約有限的系統資源微軟把很多的系統服務做成了共享模式。那svchost.exe在這中間是擔任怎樣一個角色呢?

svchost.exe的工作就是作為這些服務的宿主,即由svchost.exe來啟動這些服務。svchost.exe只是負責為這些服務提供啟動的條件,其自身並不能實現任何服務的功能,也不能為用戶提供任何服務。svchost.exe通過為這些系統服務調用動態鏈接庫(DLL)的方式來啟動系統服務。

svchost.exe是病毒這種說法是任何產生的呢?

因為svchost.exe可以作為服務的宿主來啟動服務,所以病毒、木馬的編寫者也挖空心思的要利用svchost.exe的這個特性來迷惑用戶達到入侵、破壞計算機的目的。

如何才能 辨別 哪些是正常的svchost.exe進程,而哪些是 病毒進程 呢?

svchost.exe的鍵值是在「HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost」,如圖1所示。圖1中每個鍵值表示一個獨立的svchost.exe組。

微軟還為我們提供了一種察看系統正在運行在svchost.exe列表中的服務的方法。以Windows XP為例:在「運行」中輸入:cmd,然後在命令行模式中輸入:tasklist /svc。系統列出如圖2所示的服務列表。圖2中紅框包圍起來的區域就是svchost.exe啟動的服務列表。如果使用的是Windows 2000系統則把前面的「tasklist /svc」命令替換為:「tlist -s」即可。如果你懷疑計算機有可能被病毒感染,svchost.exe的服務出現異常的話通過搜索 svchost.exe文件 就可以發現異常情況。一般只會找到一個在:「C:\Windows\System32」目錄下的svchost.exe程序。如果你在其它目錄下發現svchost.exe程序的話,那很可能就是中毒了。

還有一種確認svchost.exe是否中毒的方法是在任務管理器中察看進程的執行路徑。但是由於在Windows系統自帶的任務管理器不能察看進程路徑,所以要使用第三方的進程察看工具。

上面簡單的介紹了svchost.exe進程的相關情況。總而言之,svchost.exe是一個系統的核心進程,並不是病毒進程。但由於svchost.exe進程的特殊性,所以病毒也會千方百計的入侵svchost.exe。通過察看svchost.exe進程的執行路徑可以確認是否中毒。

3、 Services.exe造成CPU使用率佔用100%

症狀

在基於 Windows 2000 的計算機上,Services.exe 中的 CPU 使用率可能間歇性地達到100 %,並且計算機可能停止響應(掛起)。出現此問題時,連接到該計算機(如果它是文件伺服器或域控制器)的用戶會被斷開連接。您可能還需要重新啟動計算機。如果 Esent.dll 錯誤地處理將文件刷新到磁碟的方式,則會出現此症狀。

解決方案

Service Pack 信息

要解決此問題,請獲取最新的 Microsoft Windows 2000 Service Pack。有關其它信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:

260910 如何獲取最新的 Windows 2000 Service Pack

修復程序信息

Microsoft 提供了受支持的修補程序,但該程序只是為了解決本文所介紹的問題。只有計算機遇到本文提到的特定問題時才可應用此修補程序。此修補程序可能還會接受其它一些測試。因此,如果這個問題沒有對您造成嚴重的影響,Microsoft 建議您等待包含此修補程序的下一個 Windows 2000 Service Pack。

要立即解決此問題,請與「Microsoft 產品支持服務」聯系,以獲取此修補程序。有關「Microsoft 產品支持服務」電話號碼和支持費用信息的完整列表,請訪問 Microsoft Web 站點:

注意 :特殊情況下,如果 Microsoft 支持專業人員確定某個特定的更新程序能夠解決您的問題,可免收通常情況下收取的電話支持服務費用。對於特定更新程序無法解決的其它支持問題和事項,將正常收取支持費用。

下表列出了此修補程序的全球版本的文件屬性(或更新的屬性)。這些文件的日期和時間按協調通用時間 (UTC) 列出。查看文件信息時,它將轉換為本地時間。要了解 UTC 與本地時間之間的時差,請使用「控制面板」中的「日期和時間」工具中的 時區 選項卡。

狀態

Microsoft 已經確認這是在本文開頭列出的 Microsoft 產品中存在的問題。此問題最初是在 Microsoft Windows 2000 Service Pack 4 中更正的。

4、正常軟體造成CPU使用率佔用100%

首先,如果是從開機後就發生上述情況直到關機。那幺就有可能是由某個隨系統同時登陸的軟體造成的。可以通過運行輸入「msconfig」打開「系統實用配置工具」,進入「啟動」選項卡。接著,依次取消可疑選項前面的對鉤,然後重新啟動電腦。反復測試直到找到造成故障的軟體。或者可以通過一些優化軟體如「優化大師」達到上述目的。另:如果鍵盤內按鍵卡住也可能造成開機就出現上述問題。

如果是使用電腦途中出項這類問題,可以調出任務管理器(WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFT「ESC),進入」進程「選項卡,看」CPU「欄,從裡面找到佔用資源較高的程序(其中SYSTEM IDLE PROCESS是屬於正常,它的值一般都很高,它的作用是告訴當前你可用的CPU資源是多少,所以它的值越高越好)通過搜索功能找到這個進程屬於哪個軟體。然後,可以通過升級、關閉、卸載這個軟體或者乾脆找個同類軟體替換,問題即可得到解決。

5、病毒、木馬、間諜軟體造成CPU使用率佔用100%

出現CPU佔用率100% 的故障經常是因為病毒木馬造成的,比如震盪波病毒。應該首先更新病毒庫,對電腦進行全機掃描 。接著,在使用反間諜軟體Ad—Aware,檢查是否存在間諜軟體。論壇上有不少朋友都遇到過svchost.exe佔用CPU100%,這個往往是中毒的表現。

svchost.exe Windows中的系統服務是以動態鏈接庫(DLL)的形式實現的,其中一些會把可執行程序指向svchost.exe,由它調用相應服務的動態鏈接庫並加上相應參數來啟動服務。正是因為它的特殊性和重要性,使它更容易成為了一些病毒木馬的宿主。

6、 explorer.exe進程造成CPU使用率佔用100%

在system.ini文件中,在[BOOT]下面有個「shell=文件名」。正確的文件名應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程序名」,那幺後面跟著的那個程序就是「木馬」程序,就是說你已經中「木馬」了。

在注冊表中的情況最復雜,通過regedit命令打開注冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴展名為EXE,這里切記:有的「木馬」程序生成的文件很像系統自身文件,想通過偽裝矇混過關,如「Acid Battery v1.0木馬」,它將注冊表「HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」下的

Explorer 鍵值改為Explorer=「C:\Windows\expiorer.exe」,「木馬」程序與真正的Explorer之間只有「i」與「l」的差別。當然在注冊表中還有很多地方都可以隱藏「木馬」程序,如:「HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run」、「HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run」的目錄下都有可能,最好的辦法就是在「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」下找到「木馬」程序的文件名,再在整個注冊表中搜索即可。

7、超線程導致CPU使用率佔用100%

這類故障的共同原因就是都使用了具有超線程功能的P4 CPU。我查找了一些資料都沒有明確的原因解釋。據一些網友總結超線程似乎和天網防火牆有沖突,可以通過卸載天網並安裝其它防火牆解決,也可以通過在BIOS中關閉超線程功能解決。

8、AVI視頻文件造成CPU使用率佔用100%

在Windows XP中,單擊一個較大的AVI視頻文件後,可能會出現系統假死現象,並且造成exploere.exe進程的使用率100%,這是因為系統要先掃描該文件,並檢查文件所有部分,建立索引。如果文件較大就會需要較長時間並造成CPU佔用率100%。解決方法:右鍵單擊保存視頻文件的文件夾,選擇」屬性—>常規—>高級「,去掉」為了快速搜索,允許索引服務編制該文件夾的索引「前面復選框的對鉤即可。

9、殺毒軟體CPU使用率佔用100%

現在的殺毒軟體一般都加入了,對網頁、郵件、個人隱私的即時監空功能,這樣無疑會加大系統的負擔。比如:在玩游戲的時候,會非常緩慢。關閉該殺毒軟體是解決得最直接辦法。

10、處理較大的Word文件時CPU使用率過高

上述問題一般還會造成電腦假死,這些都是因為WORD的拼寫和語法檢查造成的,只要打開WORD的「工具—選項」,進入「拼寫和語法」選項卡,將其中的「鍵入時檢查拼寫」和「鍵入時檢查語法」兩項前面的復選框中的鉤去掉即可。

11、網路連接導致CPU使用率佔用100%

當你的Windows2000/xp作為伺服器時,收到來自埠445上的連接請求後,系統將分配內存和少量CPU資源來為這些連接提供服務,當負荷過重,就會出現上述情況。要解決這個問題可以通過修改注冊表來解決,打開注冊表,找到HKEY—LOCAL—MACHNE\SYSTEM\CurrentControlSet\Services\lanmanserver,在右面新建一個名為";maxworkitems";的DWORD值.然後雙擊該值,如果你的電腦有512以上內存,就設置為";1024";,如果小於512,就設置為256.

一些不完善的驅動程序也可以造成CPU使用率過高

經常使用待機功能,也會造成系統自動關閉硬碟DMA模式。這不僅會使系統性能大幅度下降,系統啟動速度變慢,也會使是系統在運行一些大型軟體和游戲時CPU使用率100%,產生停頓。

進程佔用CPU 100%時可能中的病毒
system Idle Process

進程文件: [system process] or [system process]

進程名稱: Windows內存處理系統進程

描 述: Windows頁面內存管理進程,擁有0級優先。

介 紹:該進程作為單線程運行在每個處理器上,並在系統不處理其它線程的時候分派處理器的時間。它的CPU佔用率越大表示可供分配的CPU資源越多,數字越小則表示CPU資源緊張。

Spoolsv.exe

進程文件: spoolsv or Spoolsv.exe

進程名稱: Printer Spooler Service

描 述: Windows列印任務控製程序,用以列印機就緒。

介 紹:緩沖(spooler)服務是管理緩沖池中的列印和傳真作業。

Spoolsv.exe→列印任務控製程序,一般會先載入以供列表機列印前的准備工作

Spoolsv.exe,如果常增高,有可能是病毒感染所致

目前常見的是:

Backdoor/Byshell(又叫隱形大盜、隱形殺手、西門慶病毒)

危害程度:中

受影響的系統: Windows 2000, Windows XP, Windows Server 2003

未受影響的系統: Windows 95, Windows 98, Windows Me, Windows NT, Windows 3.x, Macintosh, Unix, Linux,

病毒危害:

1. 生成病毒文件

2. 插入正常系統文件中

3. 修改系統注冊表

4. 可被黑客遠程式控制制

5. 躲避反病毒軟體的查殺

簡單的後門木馬,發作會刪除自身程序,但將自身程序套入可執行程序內(如:exe),並與計算機的通口(TCP埠138)掛鉤,監控計算機的信息、密碼,甚至是鍵盤操作,作為回傳的信息,並不時驅動埠,以等候傳進的命令,由於該木馬不能判別何者是正確的埠,所以負責輸出的列表機也是其驅動對象,以致Spoolsv.exe的使用異常頻繁......

Backdoor.Win32.Plutor

破壞方法:感染PE文件的後門程序

病毒採用VC編寫。

病毒運行後有以下行為:

1、將病毒文件復制到%WINDIR%目錄下,文件名為";Spoolsv.exe";,並該病毒文件運行。";Spoolsv.exe";文件運行後釋放文件名為";mscheck.exe";的文件到%SYSDIR%目錄下,該文件的主要功能是每次激活時運行";Spoolsv.exe";文件。如果所運行的文件是感染了正常文件的病毒文件,病毒將會把該文件恢復並將其運行。

2、修改注冊表以下鍵值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\Run

增加數據項:";Microsoft Script Checker"; 數據為:";MSCHECK.EXE /START";

修改該項注冊表使";MSCHECK.EXE";文件每次系統激活時都將被運行,而";MSCHECK.EXE";用於運行";Spoolsv.exe";文件,從而達到病毒自激活的目的。

3、創建一個線程用於感染C盤下的PE文件,但是文件路徑中包含";winnt";、";Windows";字元串的文件不感染。另外,該病毒還會枚舉區域網中的共享目錄並試圖對這些目錄下的文件進行感染。該病毒感染文件方法比較簡單,將正常文件的前0x16000個位元組替換為病毒文件中的數據,並將原來0x16000個位元組的數刪除

E. 跨站攻擊

除了自身的硬體條件外,還需要對你的伺服器做出安全設置控制,用2003系統來說下具體安全設置如下:
1、伺服器安全設置之--硬碟許可權篇

這里著重談需要的許可權,也就是最終文件夾或硬碟需要的許可權,可以防禦各種木馬入侵,提權攻擊,跨站攻擊等。本實例經過多次試驗,安全性能很好,伺服器基本沒有被木馬威脅的擔憂了。

硬碟或文件夾: C:\ D:\ E:\ F:\ 類推
主要許可權部分:
Administrators 完全控制 無
該文件夾,子文件夾及文件
<不是繼承的>
CREATOR OWNER 完全控制
只有子文件夾及文件
<不是繼承的>
SYSTEM 完全控制
該文件夾,子文件夾及文件
<不是繼承的>

其他許可權部分:
如果安裝了其他運行環境,比如PHP等,則根據PHP的環境功能要求來設置硬碟許可權,一般是安裝目錄加上users讀取運行許可權就足夠了,比如c:\php的話,就在根目錄許可權繼承的情況下加上users讀取運行許可權,需要寫入數據的比如tmp文件夾,則把users的寫刪許可權加上,運行許可權不要,然後把虛擬主機用戶的讀許可權拒絕即可。如果是mysql的話,用一個獨立用戶運行MYSQL會更安全,下面會有介紹。如果是winwebmail,則最好建立獨立的應用程序池和獨立IIS用戶,然後整個安裝目錄有users用戶的讀/運行/寫/許可權,IIS用戶則相同,這個IIS用戶就只用在winwebmail的WEB訪問中,其他IIS站點切勿使用
硬碟設置需要根據你的實際需要來設置許可權!
2、伺服器安全設置之--系統服務篇(設置完畢需要重新啟動)

*除非特殊情況非開不可,下列系統服務要停止並禁用:
1、Alerter 2、Application Layer Gateway Service 3、
Background Intelligent Transfer Service
4、Computer Browser 5、Distributed File System 6、Help and Support 7、Messenger 8、NetMeeting Remote Desktop Sharing 9、Print Spooler 10、Remote Registry 11、Task Scheler 12、TCP/IP NetBIOS Helper 13、Telnet 14、Workstation 以上是windows2003server標准服務當中需要停止的服務,作為IIS網路伺服器,以上服務務必要停止,如果需要SSL證書服務,則設置方法不同。如果你裝有虛擬主機系統,設置當然也不一樣!更詳細設置可以根據自己的需要找更詳細的參考資料。

3、伺服器安全設置之--組件安全設置篇 (非常重要!!!)
A、卸載WScript.Shell 和 Shell.application 組件,將下面的代碼保存為一個.BAT文件執行(分2000和2003系統)
win2000
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
win2003
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
B、改名不安全組件,需要注意的是組件的名稱和Clsid都要改,並且要改徹底了,不要照抄,要自己改
【開始→運行→regedit→回車】打開注冊表編輯器

然後【編輯→查找→填寫Shell.application→查找下一個】

用這個方法能找到兩個注冊表項:

{13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。

第一步:為了確保萬無一失,把這兩個注冊表項導出來,保存為xxxx.reg 文件。

第二步:比如我們想做這樣的更改

13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001

Shell.application 改名為 Shell.application_nohack

第三步:那麼,就把剛才導出的.reg文件里的內容按上面的對應關系替換掉,然後把修改好的.reg文件導入到注冊表中(雙擊即可),導入了改名後的注冊表項之後,別忘記了刪除原有的那兩個項目。這里需要注意一點,Clsid中只能是十個數字和ABCDEF六個字母。

其實,只要把對應注冊表項導出來備份,然後直接改鍵名就可以了。
WScript.Shell 和 Shell.application 組件是 腳本入侵過程中,提升許可權的重要環節,這兩個組件的卸載和修改對應注冊鍵名,可以很大程度的提高虛擬主機的腳本安全性能,一般來說,ASP和php類腳本提升許可權的功能是無法實現了,再加上一些系統服務、硬碟訪問許可權、埠過濾、本地安全策略的設置,虛擬主機因該說,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注銷了Shell組件之後,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。下面是另外一種設置,大同小異。
一、禁止使用FileSystemObject組件
FileSystemObject可以對文件進行常規操作,可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。

HKEY_CLASSES_ROOT\Scripting.FileSystemObject\

改名為其它的名字,如:改為 FileSystemObject_ChangeName

自己以後調用的時候使用這個就可以正常調用此組件了

也要將clsid值也改一下

HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\項目的值

也可以將其刪除,來防止此類木馬的危害。

2000注銷此組件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll

2003注銷此組件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll

如何禁止Guest用戶使用scrrun.dll來防止調用此組件?

使用這個命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests

二、禁止使用WScript.Shell組件

WScript.Shell可以調用系統內核運行DOS基本命令

可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。

HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\

改名為其它的名字,如:改為WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName

自己以後調用的時候使用這個就可以正常調用此組件了

也要將clsid值也改一下

HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值

HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值

也可以將其刪除,來防止此類木馬的危害。

三、禁止使用Shell.Application組件

Shell.Application可以調用系統內核運行DOS基本命令

可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。

HKEY_CLASSES_ROOT\Shell.Application\



HKEY_CLASSES_ROOT\Shell.Application.1\

改名為其它的名字,如:改為Shell.Application_ChangeName 或 Shell.Application.1_ChangeName

自己以後調用的時候使用這個就可以正常調用此組件了

也要將clsid值也改一下

HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值

HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值

也可以將其刪除,來防止此類木馬的危害。

禁止Guest用戶使用shell32.dll來防止調用此組件。

2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests

註:操作均需要重新啟動WEB服務後才會生效。

四、調用Cmd.exe

禁用Guests組用戶調用cmd.exe

2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests

通過以上四步的設置基本可以防範目前比較流行的幾種木馬,但最有效的辦法還是通過綜合安全設置,將伺服器、程序安全都達到一定標准,才可能將安全等級設置較高,防範更多非法入侵。

C、防止Serv-U許可權提升 (適用於 Serv-U6.0 以前版本,之後可以直接設置密碼)
先停掉Serv-U服務

用Ultraedit打開ServUDaemon.exe

查找 Ascii:LocalAdministrator 和 #l@$ak#.lk;0@P

修改成等長度的其它字元就可以了,ServUAdmin.exe也一樣處理。

另外注意設置Serv-U所在的文件夾的許可權,不要讓IIS匿名用戶有讀取的許可權,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。

4、伺服器安全設置之--IIS用戶設置方法
不同站點使用不用的IIS用戶。另外許可權的設置要細致。
5、伺服器安全設置之--伺服器安全和性能配置
把下面文本保存為: windows2000-2003伺服器安全和性能注冊表自動配置文件.reg 運行即可。[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=hex:01,00,00,00
"NoRecentDocsHistory"=hex:01,00,00,00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="1"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters]
"AutoShareServer"=dword:00000000
"AutoShareWks"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableICMPRedirect"=dword:00000000
"KeepAliveTime"=dword:000927c0
"SynAttackProtect"=dword:00000002
"TcpMaxHalfOpen"=dword:000001f4
"TcpMaxHalfOpenRetried"=dword:00000190
""=dword:00000001
"TcpMaxDataRetransmissions"=dword:00000003
"TCPMaxPortsExhausted"=dword:00000005
"DisableIPSourceRouting"=dword:00000002
"TcpTimedWaitDelay"=dword:0000001e
"TcpNumConnections"=dword:00004e20
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"PerformRouterDiscovery"=dword:00000000
"EnableICMPRedirects"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"BacklogIncrement"=dword:00000005
"MaxConnBackLog"=dword:000007d0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"EnableDynamicBacklog"=dword:00000001
"MinimumDynamicBacklog"=dword:00000014
"MaximumDynamicBacklog"=dword:00007530
"DynamicBacklogGrowthDelta"=dword:0000000a
功能:可抵禦DDOS攻擊2-3萬包,提高伺服器TCP-IP整體安全性能(效果等於軟體防火牆,節約了系統資源)
6、伺服器安全設置之--IP安全策略 (僅僅列出需要屏蔽或阻止的埠或協議)

協議 IP協議埠 源地址 目標地址 描述 方式
ICMP -- -- -- ICMP 阻止
UDP 135 任何IP地址 我的IP地址 135-UDP 阻止
UDP 136 任何IP地址 我的IP地址 136-UDP 阻止
UDP 137 任何IP地址 我的IP地址 137-UDP 阻止
UDP 138 任何IP地址 我的IP地址 138-UDP 阻止
UDP 139 任何IP地址 我的IP地址 139-UDP 阻止
TCP 445 任何IP地址-從任意埠 我的IP地址-445 445-TCP 阻止
UDP 445 任何IP地址-從任意埠 我的IP地址-445 445-UDP 阻止
UDP 69 任何IP地址-從任意埠 我的IP地址-69 69-入 阻止
UDP 69 我的IP地址-69 任何IP地址-任意埠 69-出 阻止
TCP 4444 任何IP地址-從任意埠 我的IP地址-4444 4444-TCP 阻止
TCP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
TCP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
TCP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
UDP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
UDP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
UDP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
TCP 21 我的IP地址-從任意埠 任何IP地址-到21埠 阻止tftp出站 阻止
TCP 99 我的IP地址-99 任何IP地址-任意埠 阻止99shell 阻止

以上是IP安全策略里的設置,可以根據實際情況,增加或刪除埠
7、伺服器安全設置之--本地安全策略設置

安全策略自動更新命令:GPUpdate /force (應用組策略自動生效不需重新啟動)

開始菜單—>管理工具—>本地安全策略

A、本地策略——>審核策略

審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗
審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——>用戶許可權分配

關閉系統:只有Administrators組、其它全部刪除。
通過終端服務拒絕登陸:加入Guests、User組
通過終端服務允許登陸:只加入Administrators組,其他全部刪除

C、本地策略——>安全選項

互動式登陸:不顯示上次的用戶名 啟用
網路訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網路訪問:不允許為網路身份驗證儲存憑證 啟用
網路訪問:可匿名訪問的共享 全部刪除
網路訪問:可匿名訪問的命 全部刪除
網路訪問:可遠程訪問的注冊表路徑 全部刪除
網路訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶

還有很多設置!你可以多找找資料!
以上回答你滿意么?

F. 在shell腳本中有個語句是if [ -d $1"/"$file ],其中 $1"/"$file是什麼意思

$1是指你運用這個腳本後跟著的第一個片語,比如你這個腳本命名為shell.sh,那麼shell.sh /etc時,/etc代表$1 , for file in ` ls $1 ` 這段語法是代表以file為變數枚舉出$1也就是/etc下所有文件,For...In 聲明用於對數組或者對象的屬性進行循環操作。

G. 易語言圖片框怎麼顯示文件夾的里的圖片,點擊按鈕顯示下一張

此效果可以通過枚舉文件,配合「讀入文件 ()」和數組操作來實現。

代碼如下:

.版本2

.程序集窗口程序集_啟動窗口
.程序集變數當前位置,整數型
.程序集變數文件列表,文本型,,"0"

.子程序__啟動窗口_創建完畢

枚舉文件(取運行目錄()+「」,「.jpg」,文件列表)
.如果真(取數組成員數(文件列表)>0)
當前位置=1
圖片框1.圖片=讀入文件(文件列表[1])
.如果真結束
.如果真(取數組成員數(文件列表)>1)
按鈕_下一張.禁止=假
.如果真結束


.子程序_按鈕_上一張_被單擊

當前位置=當前位置-1
圖片框1.圖片=讀入文件(文件列表[當前位置])
.如果(當前位置≤1)
按鈕_上一張.禁止=真
.否則
按鈕_上一張.禁止=假
按鈕_下一張.禁止=假
.如果結束


.子程序_按鈕_下一張_被單擊

當前位置=當前位置+1
圖片框1.圖片=讀入文件(文件列表[當前位置])
.如果(當前位置≥取數組成員數(文件列表))
按鈕_下一張.禁止=真
.否則
按鈕_上一張.禁止=假
按鈕_下一張.禁止=假
.如果結束


.子程序枚舉文件
.參數欲枚舉文件的目錄,文本型,,將要被枚舉文件的目錄。
.參數欲枚舉的文件後綴名,文本型,可空,請輸入如「.bmp」「.mp3」的後綴名。
.參數欲保存結果的變數,文本型,參考數組,保存結果的文本型數組。
.局部變數臨_目錄,文本型
.局部變數臨_文件,文本型
.局部變數i,整數型,靜態

'枚舉目錄
重定義數組(欲保存結果的變數,假,0)
臨_目錄=尋找文件(欲枚舉文件的目錄+「*」,#子目錄)'第一次尋找要提供相應條件
.判斷循環首(臨_目錄≠「」)'只要找到的結果不為空則繼續尋找
.如果真(臨_目錄≠「.」且臨_目錄≠「..」)
枚舉文件(欲枚舉文件的目錄+臨_目錄+「」,欲枚舉的文件後綴名,欲保存結果的變數)
.如果真結束
臨_目錄=尋找文件(,#子目錄)'之後系統會默認使用最近一次提供的條件進行尋找下一個結果,所以這里只需要指定尋找對象:#子目錄
.判斷循環尾()
'枚舉文件
臨_文件=尋找文件(欲枚舉文件的目錄+「*」+欲枚舉的文件後綴名,)'第一次尋找要提供相應條件
.判斷循環首(臨_文件≠「」)'只要找到的結果不為空則繼續尋找
臨_文件=欲枚舉文件的目錄+臨_目錄+臨_文件'文件全路徑=目錄+文件名+後綴名
加入成員(欲保存結果的變數,臨_文件)
臨_文件=尋找文件(,)
.判斷循環尾()

在程序中,演示效果如下:

H. shell 中如何用for語句同時搜索兩個文件夾內的所有文件,並進行文件比較,急用,希望高手解答,謝謝

不考慮子文件夾。

先用ls命令枚舉其中一個文件夾內的所有文件(用數組記錄文件名)。
cd 目錄1
declare -a array=(`ls`)

然後在枚舉另一個文件夾時用for循環與數組元素逐個比較。
cd 目錄2
for file2 in *
do
isFound=0
for file1 in ${array[*]}
do
if [ "$file2" = "$file1" ]; then
diff -y --suppress-common-lines 目錄1/$file1 目錄2/$file2
isFound=1
fi
done
[ $isFound -eq 0 ] && echo "目錄2下的$file2文件在目錄1下不存在!"
done

當然,還有一種情況我沒有處理,即目錄1下的內容在目錄2中不存在。

I. wscript.shell的詳解

Environment 屬性返回 WshEnvironment 對象。
語法
WshShell.Environment ( [strType]) = objWshEnvironment
注釋
若 strType 指定了環境變數所處的位置,可能值為 System、User、Volatile 和 Process。若未提供 strType,則該方法在 Windows NT 中檢索系統環境變數或在 Windows 95 中檢索進程環境變數。
對於 Windows 95,strType 參數僅支持 Process。
下列變數是由 Windows 操作系統提供的。腳本也可獲取由其他應用程序設置的環境變數。
名稱 說明
NUMBER_OF_PROCESSORS 計算機上運行的處理器數目。
PROCESSOR_ARCHITECTURE 用戶工作站使用的處理器類型。
PROCESSOR_IDENTIFIER 用戶工作站的處理器 ID。
PROCESSOR_LEVEL 用戶工作站的處理器級。
PROCESSOR_REVISION 用戶工作站的處理器版本。
OS 用戶工作站所用的操作系統。
COMSPEC 用於運行「命令提示」窗口的命令(通常為 cmd.exe)。
HOMEDRIVE 本地主驅動器(通常為 C 驅動器)。
HOMEPATH 用戶的默認路徑(在 Windows NT 上通常為 usersdefault)。
PATH 路徑環境變數。
PATHEXT 可執行文件的擴展名(通常為 .com、 .exe、.bat 或 .cmd)。
PROMPT 命令提示符(通常為 $P$G)。
SYSTEMDRIVE 系統所在的本地驅動器(例如,c:)。
SYSTEMROOT 系統目錄(例如,c:winnt)。和 WINDIR 相同。
WINDIR 系統目錄(例如 c:winnt)。和 SYSTEMROOT 相同。
TEMP 存儲臨時文件的目錄(例如,c:temp)。用戶可更改。
TMP 存儲臨時文件的目錄(例如,c:temp)。用戶可更改。
示例 '返回NUMBER_OF_PROCESSORS系統環境變數SetWshShell=CreateObject(WScript.Shell)SetWshSysEnv=WshShell.Environment(SYSTEM)WScript.EchoWshSysEnv(NUMBER_OF_PROCESSORS)WshEnvironment 對象
WshEnvironment 對象未直接給出,可用 WshShell.Environment 屬性來訪問。
下面描述與 WshEnvironment 對象關聯的屬性。
屬性 說明
Item 獲取或設置指定的環境變數值。
Count 枚舉項的數目。
length 枚舉項的數目 (JScript)。
下面描述與 WshEnvironment 對象關聯的方法。
方法 說明
Remove 刪除指定的環境變數。 SpecialFolders 屬性提供 WshSpecialFolders 對象以便訪問 Windows 的 shell 文件夾,例如桌面文件夾、開始菜單文件夾和個人文檔文件夾。
語法
WshShell.SpecialFolders = objWshSpecialFolders
示例 '這段代碼展示如何訪問桌面文件夾SetWshShell=CreateObject(WScript.Shell)MsgBoxYourdesktopis&WshShell.SpecialFolders(Desktop)WshSpecialFolders 對象
該對象未直接給出。要得到 WshSpecialFolders 對象,請使用 WshShell.SpecialFolders 屬性。
下面描述與 WshSpecialFolders 對象關聯的屬性。
屬性 描述
Item 指定文件夾的完整路徑(默認)。
Count 枚舉項的數目。
length 枚舉項的數目 (JScript) 。
WshSpecialFolders.Item
Item 屬性返回由 strFolderName 指定的文件夾的完整路徑。它是默認屬性。
語法
WshShell.SpecialFolders.Item(strFolderName) = strFolderPath
WshShell.SpecialFolders(strFolderName) = strFolderPath
注釋
若請求的文件夾 (strFolderName) 不可用,則 WshShell.SpecialFolders(strFolderName) 返回 NULL。例如,Windows 95 沒有 AllUsersDesktop 文件夾,如果 strFolderName = AllUsersDesktop,則返回 NULL。
Windows 95 和 Windows NT 4.0操作系統提供下列指定文件夾:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
示例 SetWshShell=CreateObject(WScript.Shell)'創建對象是wshell對象,不要和wscript對象混了StrMyDesktop=WshShell.SpecialFolders(Desktop)'這段返回完整的Windows桌面文件夾路徑,這段可以不要ForEachstrFolderInWshShell.SpecialFolders'遍歷所有特殊文件夾,這里的SpecialFolders是屬性MsgBoxstrFolder'顯示所有特殊文件夾Next CreateShortcut 方法創建 WshShortcut 對象並將其返回。如果快捷方式標題以 .url 結尾,就會創建 WshURLShortcut 對象。
語法
WshShell.CreateShortcut(strPathname) = objShortcut
示例 '這段代碼創建一個指向當前執行腳本的快捷方式SetWshShell=CreateObject(WScript.Shell)SetoShellLink=WshShell.CreateShortcut(CurrentScript.lnk)oShellLink.TargetPath=Wscript.ScriptFullNameoShellLink.SaveSetoUrlLink=WshShell.CreateShortcut(MicrosoftWebSite.URL)oUrlLink.TargetPath=http://……oUrlLink.SaveWshShortcut 對象
該對象未直接給出。要獲得 WshShortcut 對象,請使用 WshShell.CreateShortcut 方法。
下面說明和 WshShortcut 對象有關的屬性。
屬性 說明
Arguments 快捷方式對象的參數。
Description 快捷方式對象的說明。
Hotkey 快捷方式對象的熱鍵。
IconLocation 快捷方式對象的圖標位置。
TargetPath 快捷方式對象的目標路徑。
WindowStyle 快捷方式對象的窗口樣式。
WorkingDirectory 快捷方式對象的工作目錄。
下面說明與 WshShortcut 對象有關的方法。
方法 說明
Save 將快捷方式存儲到指定的文件系統中。
WshShortcut.Arguments
Arguments 屬性提供快捷方式對象的參數。
語法
WshShortcut.Arguments = strArguments
WshShortcut.Description
Description 屬性提供快捷方式對象的說明。
語法
WshShortcut.Description = strDescription
WshShortcut.Hotkey
HotKey 屬性提供快捷方式對象的熱鍵。熱鍵是啟動或切換程序的鍵盤快捷方式。
語法
WshShortcut.HotKey = strHotKey
注釋
strHotKey 的BNF語法如下:
Hotkey ::= modifier* keyname
modifier ::= ALT+ | CTRL+ | SHIFT+ | EXT+
keyname ::= A .. Z |
0.. 9 |
Back | Tab | Clear | Return |
Escape | Space | Prior | ...
所有鍵的名稱都可以在 WINUSER.H 中找到。熱鍵不區分大小寫。
熱鍵只能激活位於 Windows 桌面或 Windows「開始」菜單的快捷方式。
Windows 資源管理器不接受 ESC、ENTER、TAB、SPACE、PRINT SCREEN 或 BACKSPACE,即使 WshShortcut.Hotkey 遵循 Win32 API 支持它們。因此,建議在快捷方式中不要用這些鍵。
示例 SetWshShell=CreateObject(WScript.Shell)strDesktop=WshShell.SpecialFolders(Desktop)SetoMyShortcut=WshShell.CreateShortcut(strDesktop&a_key.lnk)OMyShortcut.TargetPath=%windir% otepad.exeoMyShortCut.Hotkey=ALT+CTRL+FoMyShortCut.SaveWshShortcut.IconLocation
IconLocation 屬性提供快捷方式對象的圖標位置。圖標位置的格式應為 Path,index。
語法
WshShortcut.IconLocation = strIconLocation
WshShortcut.TargetPath
TargetPath 屬性提供快捷方式對象的目標路徑。
語法
WshShortcut.TargetPath = strTargetPath
WshShortcut.WindowStyle
WindowStyle 屬性提供快捷方式對象的窗口樣式。
語法
WshShortcut.WindowStyle = natWindowStyle
WshShortcut.WorkingDirectory
WorkingDirectory 為一個快捷方式對象提供工作目錄。
語法
WshShortcut.WorkingDirectory = strWorkingDirectory
WshShortcut.Save
Save 方法把快捷方式對象保存到由 FullName 屬性指定的位置。
語法
WshShortcut.Save
WshUrlShortcut 對象
該對象未直接給出。要獲取 WshUrlShortcut 對象,可使用 WshShell.CreateShortcut 方法。
下表說明了和 WshUrlShortcut 對象有關的屬性。
屬性 說明
FullName URL 快捷方式對象的完整路徑。
TargetPath URL 快捷方式對象的目標路徑。
下表說明了和 WshUrlShortcut 對象有關的方法。
方法 說明
Save 將快捷方式保存到指定的文件系統中。
WshUrlShortcut.FullName
FullName 屬性提供快捷方式對象的完整路徑。
語法
WshUrlShortcut.FullName = strFullName
WshUrlShortcut.TargetPath
TargetPath 屬性提供快捷方式對象的目標路徑。
語法
WshUrlShortcut.TargetPath = strTargetPath
WshUrlShortcut.Save
Save 方法保存一個快捷方式,該快捷方式指向 FullName 屬性指定的位置。
語法
WshUrlShortcut.Save ExpandEnvironmentStrings 方法在 strString 中擴展 PROCESS 環境變數並返回結果字元串。變數被 % 字元括起。
環境變數不區分大小寫。
語法
WshShell.ExpandEnvironmentStrings(strString) = strExpandedString
示例 MsgBoxPromptis&WshShell.ExpandEnviromentStrings(%PROMPT%) Popup 方法顯示一個彈出式消息框窗口,消息框中包含的消息由 strText 指定。該消息框的窗口標題由 strTitle 指定。若 strTitle 省略,則窗口標題為 Windows Scripting Host。
語法
WshShell.Popup(strText, [natSecondsToWait], [strTitle], [natType]) = intButton
注釋
若提供 natSecondsToWait 且其值大於零,則消息框在 natSecondsToWait 秒後關閉。
natType 的含義與其在 Win32? MessageBox 函數中相同。下表顯示 natType 中的值及含義。下表中的值可以組合。
按鈕類型 值說明0顯示「確定」按鈕1顯示「確定」和「取消」按鈕2顯示「終止」、「重試」和「忽略」按鈕3顯示「是」、「否」和「取消」按鈕4顯示「是」和「否」按鈕5顯示「重試」和「取消」按鈕圖標類型 值說明16顯示停止標記圖標32顯示問號圖標48顯示感嘆號圖標64顯示信息標記圖標以上兩個表並不涵蓋 natType 的所有值。完整的列表請參閱 Win32 文檔。
返回值 intButton 指示用戶所單擊的按扭編號。若用戶在 natSecondsToWait 秒之前不單擊按扭,則 intButton 設置為 -1 。 值說明1「確定」按扭2「取消」按扭3「終止」按扭4「重試」按扭5「忽略」按扭6「是」按扭7「否」按扭示例 SetWshShell=CreateObject(WScript.Shell)WshShell.PopupWheredoyouwanttogotoday?Wscript.Echo
Echo 方法在窗口(Wscript.exe 中)或「命令提示符」窗口(Cscript.exe 中)顯示參數。
參數用空格分隔。在 Cscript.exe 中,該方法在顯示最後一個參數之後輸出一對回車/換行(CR LF)。
語法
Wscript.Echo [anyArg...]
示例 Wscript.EchoWscript.Echo1,2,3Wscript.. RegDelete 從注冊表中刪除名為 strName 的鍵或值。
語法
WshShell.RegDelete strName
參數
strName
如果 strName 以反斜杠 () 結束,則該方法刪除鍵而不是值。
strName 參數必須以下列之一的根鍵名開始:
短根鍵名 長根鍵名
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
示例 SetWshShell=CreateObject(WScript.Shell)WshShell.'刪除值ValueWshShell.RegDeleteHKCUScriptEngineKey'刪除鍵Key RegRead 方法返回名為 strName 的注冊表鍵或值。
語法
WshShell.RegRead(strName) = strValue
參數
strName
如果 strName 以反斜杠 () 結束,則該方法返回鍵,而不是值。
strName 參數必須以下列根鍵名開始。
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
注釋
RegRead 方法僅支持 REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY 和 REG_MULTI_SZ 數據類型。若注冊表有其他數據類型,RegRead 返回 DISP_E_TYPEMISMATCH。
示例 SetWshShell=CreateObject(WScript.Shell)WshShell.RegRead(HKCUScriptEngineVal)'ReadfromvalueValWshShell.RegRead(HKCUScriptEngineKey)'ReadfromkeyKey RegWrite 方法設置名為 strName 的注冊表鍵或值。
語法
WshShell.RegWrite strName, anyValue, [strType]
參數
strName
若 strName 以一個反斜杠 () 結束,則該方法設置鍵,而不是值。
strName 參數必須以下列根鍵名開頭。
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
anyValue
當 strType 為 REG_SZ 或 REG_EXPAND_SZ 時,RegWrite 方法自動將 anyValue 轉換為字元串。若 strType 為 REG_DWORD,則 anyValue 被轉換為整數。若 strType 為 REG_BINARY,則 anyValue 必須是一個整數。
strType
RegWrite 方法支持 strType 為 REG_SZ、REG_EXPAND_SZ、REG_DWORD 和 REG_BINARY。若其他的數據類型被作為 strType 傳遞,RegWrite 返回 E_INVALIDARG。
示例 SetWshShell=CreateObject(WScript.Shell)WshShell.RegWriteHKCUScriptEngineValue,SomestringvalueWshShell.RegWriteHKCUScriptEngineKey,1,REG_DWORD Run 方法創建一個新的進程,該進程以 intWindowStyle 窗口樣式執行 strCommand。
語法
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
參數
strCommand
在 strCommand 參數內部的環境變數被自動擴展。
intWindowStyle
這是為新進程在 STARTUPINFO 結構內設置的 wShowWindow 元素的值。其意義與 ShowWindow 中的 nCmdShow 參數相同,可取以下值之一。 名稱值含義SW_HIDE0隱藏窗口並激活另一窗口。SW_SHOWNORMAL1激活並顯示一個窗口。若窗口是最小化或最大化,則恢復到其原來的大小和位置。SW_SHOWMINIMIZED2激活窗口並以最小化顯示該窗口。SW_SHOWMAXIMIZED3激活窗口並以最大化顯示該窗口。SW_SHOWNOACTIVATE4按窗口最近的大小和位置顯示。活動窗口保持活動。SW_SHOW5以當前大小和位置激活並顯示窗口。SW_MINIMIZE6最小化指定窗口並激活按 Z 序排序的下一個頂層窗口。SW_SHOWMINNOACTIVE7最小化顯示窗口。活動窗口保持活動。SW_SHOWNA8以當前狀態顯示窗口。活動窗口保持活動。SW_RESTORE9激活並顯示窗口。若窗口是最小化或最大化,則恢復到原來的大小和位置。在還原應用程序的最小化窗口時,應指定該標志。blnWaitOnReturn
如果未指定 blnWaitOnReturn 或其值為 FALSE,則該方法立即返回到腳本繼續執行而不等待進程結束。
若 blnWaitOnReturn 設為 TRUE,則 Run 方法返回由應用程序返回的任何錯誤代碼。如果未指定 blnWaitOnReturn 或其值為 FALSE,則 Run 返回錯誤代碼 0(zero)。
示例 '這段用記事本打開當前執行的腳本SetWshShell=CreateObject(WScript.Shell)WshShell.Run(notepad&Wscript.ScriptFullName)WshShell.Run(%windir% otepad.exe&Wscript.ScriptFullName)'這段返回執行的應用程序的錯誤碼(退出碼)Return=WshShell.Run(notepad&Wscript.ScriptFullName,1,True)

J. 批處理刪除1天以前產生的txt文件

批處理代碼:

將這個批處理放在E:\LOG這個目錄下面運行:
::═════代═══碼═══開═══始═════
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /a-d/b/s *.txt') do (
if "%%~ti" lss "!date:~,-3!" del "%%i" /f/q)
pause
::═════代═══碼═══結═══束═════

用vbs也可以:
第一個:刪除24小時之前的
'═════代═══碼═══開═══始═════
set fso=CreateObject("Scripting.FileSystemObject")
set ws=CreateObject("wscript.shell")
set fs=fso.getfolder("E:\log").files
for each f in fs
if fso.GetExtensionName(f.path)="txt" then
if datediff("H",f.DateLastModified,NOW())>=24 then
fso.DeleteFile f.name,true
end if
end if
next
'Created By escortmnm from VBS團隊
'═════代═══碼═══結═══束═════

第二個:刪除1天前的
'═════代═══碼═══開═══始═════
set fso=CreateObject("Scripting.FileSystemObject")
set ws=CreateObject("wscript.shell")
set fs=fso.getfolder("E:\log").files
for each f in fs
if fso.GetExtensionName(f.path)="txt" then
if datediff("D",f.DateLastModified,NOW())>=1 then
fso.DeleteFile f.name,true
end if
end if
next
'Created By escortmnm from VBS團隊
'═════代═══碼═══結═══束═════

需要那個用那個。

閱讀全文

與shell枚舉文件相關的資料

熱點內容
微信發文件是問號怎麼解決 瀏覽:670
老妖精網課下載內容在哪個文件夾 瀏覽:26
魅藍note5應用商店app 瀏覽:536
長沙電信網路電視 瀏覽:775
識貨app快遞怎麼不發順豐 瀏覽:468
神泣弓手56級去哪升級 瀏覽:327
ios怎麼用wps打開文件 瀏覽:437
applepencil畫畫 瀏覽:689
3d文件轉cad 瀏覽:439
有網路力為什麼上不了網 瀏覽:570
手機熱插拔配置文件 瀏覽:716
js打開攝像頭chrome 瀏覽:537
索尼錄音筆文件名 瀏覽:394
ticwatch版本 瀏覽:959
哪裡有日本論文資料庫 瀏覽:450
編程思維訓練有哪些 瀏覽:832
隔空偷文件手機軟體 瀏覽:108
xp遠程桌面連接用戶名密碼 瀏覽:511
iphone4屏幕太暖 瀏覽:962
電腦回收站里的文件怎麼單獨刪除 瀏覽:219

友情鏈接