VBS脚本写的Windows硬件检测工具分享

Const MyName = "Windows硬件检视工具(测试版) --by:Rex.Pack(雷克斯.派)"

If Not LCase(Replace(WScript.FullName, WScript.Path & "\", "")) = "cscript.exe" Then
	Set WS = CreateObject("WScript.Shell")
	WS.Run "CMD /c mode con: cols=115 & Color 0A & Title " & MyName & " & CScript //nologo """ & WScript.ScriptFullName & """"
	WScript.Quit
End If
'----初始化
Set SD = CreateObject("Scripting.Dictionary")
	SD.CompareMode = vbTextCompare
Set S = New BaseStr
Set PC = New BasePC
Set WMI = GetObject("Winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
CmdArr = Split(" OS CPU Board Memory Video Disk USB CacheMemory NetWork BIOS Sound Battery PortableBattery" & " S1 S2 S3 S4")
With SD
	.Add "?", "Call Menu"
	.Add "e", "WScript.Quit"
	For I = 1 To 17
		.Add CStr(I), CmdArr(I)
	Next
	.Add "a", "1-6"
	.Add "b", "7-9"
	.Add "c", "10-13"
	.Add "d", "14-17"
End With

Echo MyName

Call Menu
Call Main

'----CO
Sub Menu()
	Echo "[设备列表]"
	Echo " 常用组 A: 1.OS	2.CPU	3.主板	4.内存	5.显卡	6.硬盘"
	Echo " 次级组 B: 7.USB	8.缓存	9.网卡"
	Echo " 酱油组 C: 10.BIOS	11.声卡	电池(12.内部 13.便携)"
	Echo "[测试CPU]"
	Echo " 测试组 D: 14.变量幂次方运算	15.字符叠合	16.加法计算	17.叠加计算"
End Sub

Sub Main()
	Print ">": GetNum = Trim(InPut)
	With SD
		If .Exists(GetNum) Then
			If IsNumeric(GetNum) Then
				Echo Eval("PC." & .Item(GetNum))
			Else
				ArrLU = Split(.Item(GetNum), "-")
				For L = ArrLU(0) To ArrLU(1)
					Echo Eval("PC." & .Item(CStr(L)))
				Next
			End If
		Else
			Echo "#不支持的命令"
		End If
	End With

	If Not Err.Number = 0 Then Echo ">X": Err.Clear
	Call Main
End Sub

'DDC
Class BaseStr
	Private Strs

	Private Sub Class_Initialize()
		Strs = ""
	End Sub

	Private Sub Class_Terminate()
		Call Cls
	End Sub

	Public Sub Cls()
		Strs = Empty
	End Sub

	Public Property Let I(ByVal Str)
		If Left(Str, 1) = "☆" Then Str = Str & String(80, "=")
		Strs = Strs & vbCrLf & Str
	End Property

	Public Default Property Get I()
		I = Strs
		Cls
	End Property
End Class

Class BasePC
	Private DPS

	Private Sub Class_Initialize()
		DPS = 200
	End Sub

	Private Sub Class_Terminate()
		DPS = Empty
	End Sub

	Function S1()
		S1 = "变量幂次方运算 " & DPS & "万次用时:" & RT("TestVar = I ^ 2", DPS * 10000)
	End Function

	Function S2()
		S2 = "字符叠合 " & DPS & "000次用时:" & RT("TestVar = TestVar & vbTab", DPS * 1000)
	End Function

	Function S3()
		S3 = "加法计算 " & DPS & "万次用时:" & RT("TestVar = 86 + 32", DPS * 10000)
	End Function

	Function S4()
		S4 = "叠加计算 " & DPS & "万次用时:" & RT("TestVar = TestVar + I", DPS * 10000)
	End Function

	Private Function RT(ByVal MathExp, ByVal Num)
		Dim NowTimer, NewTimer, TestVar
		NowTimer = Timer
		For I = 1 To Num
			ExeCute MathExp
		Next
		NewTimer = FormatNumber((Timer - NowTimer) * 1000, 3, True, , False) & "ms"
		RT = NewTimer
		TestVar = Empty
	End Function

	Function BIOS()
		On Error Resume Next
		S.I = "☆[BIOS]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_BIOS")
			With TempObj
				S.I = "┣厂商		:" & .Manufacturer
				S.I = "┇日期		:" & .ReleaseDate
				S.I = "┇OEM 版本	:" & .Version
				S.I = "┇BIOS 版本	:" & .SMBIOSBIOSVersion
				S.I = "┇Major版本	:" & .SMBIOSMajorVersion
				S.I = "┇状态		:" & .Status
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		BIOS = S
	End Function

	Function OS()
		On Error Resume Next
		S.I = "☆[操作系统]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj in WMI.InstancesOf("Win32_OperatingSystem")
			With TempObj
				S.I = "┣标签  :" & .Caption
				S.I = "┇CSDV  :" & .CSDVersion
				S.I = "┇版本  :" & .Version
				S.I = "┇RAM识别:" & .TotalVisibleMemorySize / 1024 & "MB"
				S.I = "┇RAM可用:" & .FreePhysicalMemory / 1024 & "MB"
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		OS = S
	End Function

	Function Board()
		On Error Resume Next
		S.I = "☆[主板]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_BaseBoard")
			With TempObj
				S.I = "┣标签:" & .Caption
				S.I = "┇编号:" & .Product
				S.I = "┇序号:" & .SerialNumber
				S.I = "┇名称:" & .Name
				S.I = "┇版本:" & .Version
				S.I = "┇厂商:" & .Manufacturer
				S.I = "┇状态:" & .Status
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		Board = S
	End Function

	Function CPU()
		On Error Resume Next
		S.I = "☆[CPU]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_Processor")
			With TempObj
				MCS = .MaxClockSpeed
				CCS = .CurrentClockSpeed
				If MCS Mod 2 = 1 Then MCS = CCS + 1
				If CCS Mod 2 = 1 Then CCS = CCS + 1
				If CCS = MCS Then
					Set SRP = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
					SRP.GetDWORDValue &H80000002, "HARDWARE\DESCRIPTION\System\CentralProcessor\0", "~MHz", OC
					Set SRP = Nothing
				Else
					OC = CCS
				End If
				If OC Mod 2 = 1 Then OC = OC + 1
				FC = OC - MCS
				If FC > +10 Then OCLC = "超"
				If FC < -10 Then OCLC = "降"
				OCLC = OCLC & "频比率:" & FormatPercent(FC / MCS, True, True)

				S.I = "┣CPU 名称:" & Trim(.Name)
				S.I = "┇CPU 架构:" & .Description
				S.I = "┇制造厂商:" & .Manufacturer
				S.I = "┇插口规格:" & .SocketDesignation
				S.I = "┇CPU 数量:" & .CpuStatus & "	" & String(.CpuStatus, "※")
				S.I = "┇核心数量:" & .NumberOfCores & "	" & String(.NumberOfCores, "∷")
				S.I = "┇线程数量:" & .NumberOfLogicalProcessors & "	" & String(.NumberOfLogicalProcessors, "≈")
				S.I = "┇地址位宽:" & .AddressWidth & " Bit"
				S.I = "┇数据位宽:" & .DataWidth  & " Bit"
				S.I = "┇CPU 电压:" & .CurrentVoltage / 10 & "V"
				S.I = "┇外部频率:" & .ExtClock & " MHz"
				S.I = "┇当前频率:" & OC        & " MHz, " & OCLC
				S.I = "┇原始频率:" & MCS       & " MHz"
				S.I = "┇CPU占用%:" & .LoadPercentage & "%"
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		CPU = S
	End Function

	Function CacheMemory()
		On Error Resume Next
		S.I = "☆[缓存内存]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_CacheMemory")
			With TempObj
				If .MaxCacheSize > 0 Then
					Select Case .Purpose
						Case "L1 Cache" AddStr = "(+DataBit)"
						Case Else
					End Select
					S.I = "┇作用位:" & .Purpose & " ID:" & .DeviceID & ":" & .MaxCacheSize & "KB" & AddStr
					AddStr = ""
				End If
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		CacheMemory = S
	End Function

	Function Memory()
		On Error Resume Next
		TempArr = Split("Unknown Other DRAM Synchronous-DRAM Cache-DRAM EDO EDRAM VRAM SRAM RAM ROM Flash EEPROM FEPROM EPROM CDRAM 3DRAM SDRAM SGRAM RDRAM DDR DDR-2")
		S.I = "☆[内存]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_PhysicalMemory")
			With TempObj
				S.I = "┣名称/标签:" & .Name & "/" & .Caption
				S.I = "┇BL    :" & .BankLabel
				S.I = "┇槽    :" & .DeviceLocator
				S.I = "┇容量   :" & .Capacity / 1048576 & "MB"
				S.I = "┇类型   :" & TempArr(.MemoryType)
				S.I = "┇速率   :" & .Speed & "MHz"
				S.I = "┇制造商  :" & .Manufacturer
				S.I = "┇热插拔  :" & IIf(.HotSwappable = True, True, False)
				S.I = "┇总位宽  :" & .TotalWidth
				S.I = "┇数据位宽 :" & .DataWidth
				S.I = "┇部分序号 :" & .PartNumber
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		Memory = S
	End Function

	Function Video()
		On Error Resume Next
		TempArr1 = Split(" 其他 未知 CGA EGA VGA SVGA MDA HGC MCGA 8514A XGA Linear Frame Buffer" & Space(160 - 14) & "PC-98")
		TempArr2 = Split(" 其他 未知 隔行 逐行")
		S.I = "☆[显卡]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_VideoController")
			With TempObj
				S.I = "┣接口   :" & TempArr1(.VideoArchitecture)
				S.I = "┇名称   :" & .Name
				S.I = "┇标签   :" & .Caption
				S.I = "┇ID    :" & .DeviceID
				S.I = "┇GPU   :" & .VideoProcessor
				S.I = "┇制造商  :" & .AdapterCompatibility
				S.I = "┇物理显存 :" & .AdapterRAM / 1048576 & "MB"
				S.I = "┇扫描模式 :" & IIf(.CurrentScanMode = False, False, TempArr2(.CurrentScanMode))
				S.I = "┇分辨率  :" & .CurrentHorizontalResolution & " x " & .CurrentVerticalResolution
				S.I = "┇色位盘  :" & .CurrentBitsPerPixel & "Bit"
				S.I = "┇刷新率  :" & .CurrentRefreshRate & "Hz" & "(" & .MinRefreshRate & "-" & .MaxRefreshRate& ")"
				S.I = "┇驱动版本 :" & .DriverVersion
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		Video = S
	End Function

	Function Disk()
		On Error Resume Next
		S.I = "☆[硬盘]"
		For Each TempObj In WMI.InstancesOf("Win32_DiskDrive")
			With TempObj
				S.I = "┏[磁盘:" & .Index & "]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┉"
				S.I = "┇名称  :" & .Name
				S.I = "┇标签  :" & .Caption
				S.I = "┇接口  :" & .InterfaceType
				S.I = "┇制造商 :" & .Manufacturer
				S.I = "┇序号  :" & .SerialNumber
				S.I = "┇介质描述:" & .Description & "	" & "┇介质类型:" & .MediaType
				S.I = "┇柱面数 :" & .TotalCylinders & " 	" & "┇磁头数 :" & .TotalHeads
				S.I = "┇标准容量:" & FormatNumber(.Size / 1000000000, 2, True) & "GB" & "	" & "┇实际容量:" & FormatNumber(.Size / 1073741824, 2, True) & "GB"
				S.I = "┇分区数量:" & .Partitions
				S.I = "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┉"
				S.I = "┣[分区]┳━━━┳━━━━━━━┳━━━━━━━━━━━┳━━━━━┉"
				S.I = "┇ 索引	┇主分区┇容量(GB)	┇块(大小x数量)		┇属性"
				S.I = "┣━━━╋━━━╋━━━━━━━╋━━━━━━━━━━━╋━━━━━┉"
				For Each TempObj0 In WMI.InstancesOf("Win32_DiskPartition")
					If .Index = TempObj0.DiskIndex Then
						S.I = "┇ " & TempObj0.Index & _
						"	┇" & TempObj0.PrimaryPartition & _
						"	┇" & FormatNumber(TempObj0.Size / 1073741824, 2, True) & "GB" & _
						"	┇" & TempObj0.BlockSize & "x" & TempObj0.NumberOfBlocks & _
						" 	┇" & _
						TIf(TempObj0.BootPartition, "引导,") & _
						TIf(TempObj0.HiddenSectors, "隐藏,") & _
						TIf(TempObj0.Bootable, "启动.")
					End If
				Next
				S.I = "┣━━━┻━━━┻━━━━━━━┻━━━━━━━━━━━┻━━━━━┉"
				S.I = "┣[扇区]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┉"
				S.I = "┇磁道扇区:" & .SectorsPerTrack
				S.I = "┇扇区大小:" & .BytesPerSector
				S.I = "┇总扇区数:" & .TotalSectors
				S.I = "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┉"
			End With
		Next

		TempArr = Split("未知 可移动磁盘 本地磁盘 网络驱动器 光盘 RAM磁盘   ")
		S.I = "┏[分区信息]━━━━━━━━━━━━━━━━━━━━━━━━━━━━┉"
		For Each TempObj1 In CreateObject("Scripting.FileSystemObject").Drives
			With TempObj1
				If .IsReady Then
					PTS = Int(.FreeSpace / .TotalSize * 100)
					S.I = "┇盘符:" & .DriveLetter & " 文件系统:" & .FileSystem & "	类型:" & TempArr(.DriveType) & "	卷标:" & .VolumeName
					S.I = "┇" & "	空闲率:" & PTS & "%	" & String((100 - PTS) / 5, "■") & String(PTS / 5, "□")
				Else
					S.I = "┇盘符:" & .DriveLetter & "	磁盘未准备好!"
					S.I = "┇" & "	空闲率:0%	" & "≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡"
				End If
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┉"
		Disk = S
	End Function

	Function Sound()
		On Error Resume Next
		S.I = "☆[声卡]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_SoundDevice")
			With TempObj
				S.I = "┣名称/标签:" & .Name & "/" & .Caption
				S.I = "┇ID    :" & .DeviceID
				S.I = "┇制造商  :" & .Manufacturer
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		Sound = S
	End Function

	Function NetWork()
		On Error Resume Next
		S.I = "☆[网卡]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.ExecQuery("Select * from Win32_NetworkAdapter Where PhysicalAdapter = 'True'")
			With TempObj
				S.I = "┣[网卡:" & Space(3 - Len(.Index)) & .Index & "]━━━━━━━━┉"
				S.I = "┇标签 :" & .Caption
				S.I = "┇PNPDID:" & .PNPDeviceID
				S.I = "┇制造商:" & .Manufacturer
				S.I = "┇速率 :" & IIf(TypeName(.Speed) = "Null", False, .Speed / 10000 & "bps")
				S.I = "┇启用 :" & .NetEnabled
				S.I = "┇服务名:" & .ServiceName
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		NetWork = S
	End Function

	Function Battery()
		On Error Resume Next
		TempArr1 = Split(" 放电 交流电 充满 低 临界 充电 充电>高 充电>低 充电>临界 未定义 部分充电")
		TempArr2 = Split(" 其他 未知 铅酸 镉镍 镍金属氢化物 锂离子 锌空气 锂聚合物")
		S.I = "☆[内部电池]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_Battery")
			With TempObj
				S.I = "┣名称/标签:" & .Name & "/" & .Caption
				S.I = "┇ID    :" & .DeviceID
				S.I = "┇PNPDID  :" & .PNPDeviceID
				S.I = "┇充电时间 :" & .BatteryRechargeTime
				S.I = "┇状态   :" & TempArr1(.BatteryStatus)
				S.I = "┇材料   :" & TempArr2(.Chemistry)
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		Battery = S
	End Function

	Function PortableBattery()
		On Error Resume Next
		TempArr1 = Split(" 其他 未知 充满 低 临界 充电 充电>高 充电>低 充电>临界 未定义 部分充电")
		TempArr2 = Split(" 其他 未知 铅酸 镉镍 镍金属氢化物 锂离子 锌空气 锂聚合物")
		S.I = "☆[便携电池]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_PortableBattery")
			With TempObj
				S.I = "┣名称/标签:" & .Name & "/" & .Caption
				S.I = "┇ID    :" & .DeviceID
				S.I = "┇PNPDID  :" & .PNPDeviceID
				S.I = "┇制造商  :" & .Manufacturer
				S.I = "┇预计剩余 :" & .EstimatedChargeRemaining
				S.I = "┇预计时间 :" & .EstimatedRunTime
				S.I = "┇电源管理 :" & .PowerManagementSupported
				S.I = "┇位置   :" & .Location
				S.I = "┇智能电池 :" & .SmartBatteryVersion
				S.I = "┇材料   :" & TempArr2(.Chemistry)
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		PortableBattery = S
	End Function

	Function USB()
		On Error Resume Next
		S.I = "☆[USB坞]"
		S.I = "┏━━━━━━━━━━━━━┉"
		For Each TempObj In WMI.InstancesOf("Win32_USBController")
			With TempObj
				S.I = "┣标签 :" & .Caption
				S.I = "┇ID  :" & .DeviceID
				S.I = "┇PNPDID:" & .PNPDeviceID
				S.I = "┇制造商:" & .Manufacturer
			End With
		Next
		S.I = "┗━━━━━━━━━━━━━┉"
		USB = S
	End Function
End Class

'----

	'输出
	Sub Print(ByVal Texts)
		WScript.StdOut.Write Texts
	End Sub
	Sub Echo(ByVal GEOM_TempData)
		WScript.Echo GEOM_TempData
	End Sub

	'输出:覆盖行,空白长度
	Sub PrintC(ByVal Texts, ByVal LenNum)
		WScript.StdOut.Write Chr(13) & Texts & String(LenNum, " ")
	End Sub

	'输出,+换行
	Sub PrintL(ByVal Texts)
		WScript.StdOut.WriteLine(Texts)
	End Sub

	'输入
	Function InPut()
		InPut = WScript.StdIn.ReadLine
	End Function

Function IIf(ByVal GEOM_tf, ByVal GEOM_T, ByVal GEOM_F)
	If GEOM_tf = True Then IIF = GEOM_T Else IIF = GEOM_F
End Function

'iif真
Function TIf(ByVal GEOM_tf, ByVal GEOM_T)
	If GEOM_tf = True Then TIF = GEOM_T
End Function

'iif假
Function FIf(ByVal GEOM_tf, ByVal GEOM_F)
	If GEOM_tf = False Then FIF = GEOM_F
End Function

运行效果:

(0)

相关推荐

  • VBS脚本写的Windows硬件检测工具分享

    Const MyName = "Windows硬件检视工具(测试版) --by:Rex.Pack(雷克斯.派)" If Not LCase(Replace(WScript.FullName, WScript.Path & "\", "")) = "cscript.exe" Then Set WS = CreateObject("WScript.Shell") WS.Run "CMD /c

  • 网络接口利用率监控VBS脚本代码(Windows)

    复制代码 代码如下: '程序名称: btlwchk_netinterface.vbs '程序用途: 监测windows主机网络接口利用率 '创建日期: 2011-09-1 '作者信息: zhangkai '运行环境: vbs '处理参数 MonSubject="NetInterface" Set Args=WScript.Arguments If (Args.Count<1) Then Wscript.Echo MonSubject & " -1:command

  • 用VBS脚本实现更换Windows Xp序列号的代码

    ON ERROR RESUME NEXT Dim VOL_PROD_KEY if Wscript.arguments.count<1 then VOL_PROD_KEY =InputBox("使用说明:"&vbCr&vbCr&"   本程序将自动替换你当前 Windows 的序列号,通过微软验证完全正版."&vbCr&vbCr&"序列号(OEM版无效,默认版本为 XP VLK):"& 

  • 利用VBS脚本修改联想笔记本BIOS密码的代码分享

    这不科学!无意中找到的一些资料: vbs 代码: 复制代码 代码如下: strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI") ' Obtain an instance of the the class ' using a key property value. Set objShare = objWMIS

  • vbs实用软件自造——Windows脚本应用实例

    从Windows 98时代起,各种脚本文件不断出现,脚本文件的作用是为了实现各种脚本文件在 Windows 界面或 Dos 命令提示符下的直接运行,微软就在系统内植入了一个基于 32 位 Windows 平台.独立的脚本运行环境,并将其命名为"Windows Scripting Host(Windows 脚本宿主以下简称WSH)". WSH 诞生后,在 Windows 系列产品中很快得到了推广.除 Windows 98 外,微软在 Internet Information Server

  • 用python写一个windows下的定时关机脚本(推荐)

    由于本人经常使用笔记本共享WiFi,但是又不想笔记本开机一夜(为了低碳环保嘛 ~_~!),所以每次都要用使用DOS命令关机,感觉好麻烦.正好最近在学习Python,于是决定用python写一个定时关机的脚本: 话不多说由于代码比较简单,直接上代码. 代码块 # -*- coding: utf-8 -*- """ Created on Sat Dec 19 11:18:16 2015 @author: win7 """ '''定时关机''' '''

  • vbs脚本和windows定时任务实现qq消息表情包定时发送功能

    目标 在某个时间唤醒电脑屏幕后,自动发送qq信息,并附带表情包,发送完毕后关闭电脑屏幕.整个过程不用过多的程序运行,我们借助vbs脚本和windows定时任务去实现这一功能. 准备 vbs代码qq信息txt文本qq文件表情包文件发送联系人的快捷方式3个windows任务 具体操作 信息和快捷方式准备 qq信息txt文本和表情包文件 桌面新建文本输入要发送的信息,保存为abc.txt, 桌面新建文件,把要放的表情包放进里面,保存为abd qq快捷方式 把联系人拖到桌面生成快捷方式,记住,qq保持登

  • Vbs脚本经典教材(最全的资料还是MSDN)

      -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,

  • VBS脚本病毒原理分析与防范

    网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候.当您收到一封主题为"I Love You"的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候:当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的"爱虫"网络蠕虫病毒.由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑.微软.Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元.而去年爆发的新欢

  • vbs脚本实现批量转换文件编码

    最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默认编码格式是Gb2312.系统内的编码格式有所区别倒无伤大雅,关键的是SourceInsight竟不支持UTF-8,导致项目代码内的中文注释全部乱码! 既然SourceInsight不支持UTF-8编码的文件,那我们就得想办法将UTF-8的代码文件转化为GB2312编码的.首先想到的是到网上搜一下"批量编码转换工具",结

随机推荐