Some tips of wmi scripting in jscript (1)_javascript技巧
集合的概念在windows脚本中很常用,尤其是在wmi方面的脚本中基本都会遇到集合操作。
在vbscript里遍历集合的方法很简单,For Each循环就可以达到目的。但是在jscript中
如何使用集合,却困扰了我很长时间,连msdn中都找不到好的例子,令我一度悲观的认为
jscript不能进行集合操作。
在我几乎快要放弃的时候,又翻出一本vbscript wmi的电子书看了看,竟然找到了jscript
使用集合的方法,那就是Enumerator对象,该对象专门用作枚举集合。看到这个对象你会
想到什么?是不是觉得很眼熟?如果你用jscript调用过FSO的话,如何枚举Drives Files
和Folders的?FSO的例子里写的明明白白,当时使用的时候是否行尸走肉般的把例子搬到
你的程序里?当时也会觉得奇怪它为什么遍历一个集合要写这么麻烦,可是就是没有深究
为什么要这样写,那时因为你对数组的那套行不通,jscript中遍历集合只能如此。
这时候你可能还是有疑问,集合和数组有什么差别?引用MS脚本帮助里的原话:集合与数
组的不同点在于集合的成员不能直接访问。不像处理数组时使用下标,这只能将当前项目
指针移动到集合下一或前一元素。这里你想的深入一点,可以这样理解,数组就相当于c
语言中的数组概念,是线性存储空间,可以通过下标很方便的访问,而集合则是一种复杂
的数据结构,比如是一个链表,你访问的话只能通过结点之间的指向关系来访问前一个或
者后一个元素。
Enumerator的用法很简单,把你要遍历集合作为参数传递给Enumerator对象的构造函数后,
你可以枚举集合的成员,atEnd方法判断是否已经到结尾,moveFirst方法可以把指针移动
到第一个元素,moveNext方法把当前的指针位置移动到下一个元素,通过item方法返回集
合中的单个元素。
例1:枚举所有的驱动器
/**//*
* cscript ListDrive.js
*/
var oFSO = new ActiveXObject("Scripting.FileSystemObject");
var enDrives = new Enumerator(oFSO.Drives);
var oDrive;
while (! enDrives.atEnd()) {
oDrive = enDrives.item();
if (oDrive.IsReady) {
WScript.Echo(oDrive.DriveLetter + ":");
}
enDrives.moveNext();
}
例2:通过wmi枚举所有的进程
/**//*
* cscript ListProcess.js
*/
var sComputerName = ".";
var oLoc = new ActiveXObject("WbemScripting.SWbemLocator");
var oSvc = oLoc.ConnectServer(sComputerName, "root\\cimv2");
var colItems = oSvc.ExecQuery("SELECT * FROM Win32_Process");
var enProcesses = new Enumerator(colItems);
while (! enProcesses.atEnd()) {
WScript.Echo(enProcesses.item().Name);
enProcesses.moveNext();
}
前几天还和Long同学讨论vbscript和jscript之间的优劣,vbscript在语言功能和代码风
格上比jscript要差很多,但是jscript也有些功能实现上的缺憾,比如没有办法进行字节
操作,但是总的来说jscript是一个聪明的语言,从Enumerator就可以看出这一点,赫赫。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dengan pembangunan pengantarabangsaan yang berterusan, semakin banyak laman web dan aplikasi perlu menyokong fungsi penukaran berbilang bahasa. Sebagai rangka kerja bahagian hadapan yang popular, Vue menyediakan pemalam yang dipanggil i18n yang boleh membantu kami mencapai penukaran berbilang bahasa. Artikel ini akan memperkenalkan teknik biasa untuk menggunakan i18n untuk mencapai penukaran berbilang bahasa dalam Vue. Langkah 1: Pasang pemalam i18n Mula-mula, kita perlu menggunakan npm atau benang untuk memasang pemalam i18n. Masukkan arahan berikut pada baris arahan: npminst

Antara muka keluar merujuk kepada antara muka keluaran, dan antara muka masuk merujuk kepada antara muka masukan. Antara muka keluar secara amnya mewakili antara muka keluaran talian sumber audio, yang digunakan untuk menyambungkan beban, seperti pembesar suara, fon kepala, dsb. manakala antara muka masuk secara amnya mewakili antara muka input talian sumber audio, yang digunakan untuk menyambungkan pemain CD, mudah alih telefon, pemain MP3, komputer, dsb.

Proses WMIProviderHost memainkan peranan penting dalam Windows 11. Ia membolehkan aplikasi lain meminta maklumat tentang komputer anda. Proses yang berkaitan dengan WMIProviderHost lazimnya dijalankan di latar belakang, oleh itu, proses tersebut lazimnya tidak menggunakan sejumlah besar sumber sistem. Walau bagaimanapun, telah dilaporkan bahawa perkhidmatan itu kadangkala menggunakan lebih daripada 50% kuasa CPU kerana aplikasi lain. Adalah membimbangkan untuk menjalankan pemproses komputer anda pada kapasiti hampir maksimum untuk tempoh masa yang panjang, kerana ini boleh menyebabkan terlalu panas dan merosakkan komponen sistem. Dalam tutorial hari ini, kita akan melihat mengapa WMIProviderHost berfungsi dalam C pada Windows 11

Kelajuan berjalan sistem win10 menjadi lambat Apabila saya membuka pengurus tugas, saya mendapati bahawa WMIProviderHost menggunakan terlalu banyak sumber CPU. Mari kita lihat penyelesaian terperinci Gabungan kekunci +R pada papan kekunci untuk membuka Run , masukkan arahan services.msc dan tekan OK atau Enter untuk membuka perkhidmatan 2. Dalam tetingkap perkhidmatan, cari dan klik dua kali item perkhidmatan bernama WindowsManagementInstrumentation 3. Dalam sifat (komputer tempatan) tetingkap WindowsManagementInstrumentation, tukar ke tab Dependencies, anda boleh Lihat dependencies komponen IPHelper

Sistem Win10 ranap dan memaparkan memori di luar Baru-baru ini, ramai pengguna telah menemui gesaan ini apabila menggunakan komputer mereka, yang memerlukan restart yang kerap untuk membaiki Jadi bagaimana kita harus menangani masalah ini, tutorial win10 ini ada di sini langkah operasi dengan majoriti pengguna, dengan harapan dapat membantu lebih ramai rakan menyelesaikan masalah mereka. Apa yang perlu dilakukan jika sistem win10 ranap dan memaparkan memori di luar 1. Klik kanan komputer ini pada desktop dan pilih "Properties" dalam senarai pilihan. 2. Selepas memasuki antara muka tetingkap baharu, klik pilihan "Tetapan Sistem Lanjutan" di sudut kiri atas. 3. Dalam tetingkap yang terbuka, tukar kepada "

Perbezaan antara Mysqlon, dalam, sebagai, di mana Jawapan: Di mana keadaan pertanyaan, gunakan pada untuk sambungan dalaman dan luaran, sebagai alias, untuk bertanya sama ada nilai tertentu mencipta 2 jadual dalam keadaan tertentu: pelajar, pelajar skor: skor: whereSELECT*FROMstudentWHEREs_sex=' Male'Contohnya: onSELECT*FROMstudentLEFTJOINscoreonstudent.s_id=score.s_id gabungan pada dan di mana: SELECT*FROMstudentLEFTJOINs;

Sesetengah pengguna melaporkan bahawa selepas memasang patch kemas kini Mac Win11 Microsoft KB5035853, ralat kematian skrin biru berlaku, dengan "ThreadStuckinDeviceDriver" dipaparkan pada halaman sistem. Difahamkan bahawa ralat ini mungkin disebabkan oleh masalah perkakasan atau pemandu. Berikut ialah lima pembetulan yang diharapkan dapat menyelesaikan masalah skrin biru komputer anda dengan cepat. Kaedah 1: Jalankan semakan fail sistem. Jalankan perintah [sfc/scannow] dalam gesaan arahan, yang boleh digunakan untuk mengesan dan membaiki isu integriti fail sistem. Tujuan arahan ini adalah untuk mengimbas dan membaiki sebarang fail sistem yang hilang atau rosak, membantu memastikan kestabilan sistem dan operasi normal. Kaedah 2: 1. Muat turun dan buka "Alat Pembaikan Skrin Biru"

Linux ialah sistem pengendalian yang berkuasa dengan banyak arahan dan petua berguna untuk membantu anda menggunakannya dengan lebih cekap. 1. Semak nilai semakan fail Semasa penyalinan atau proses penghantaran, fail mungkin rosak atau diubah suai Dalam kes ini, nilai semakan boleh digunakan untuk pengesahan. Biasanya, kami perlu menggunakan beberapa program antara muka yang disediakan oleh pasukan lain dalam kerja kami. Setiap kali keputusan berjalan program ini tidak seperti yang diharapkan, kami akan membandingkan nilai semakan md5 kedua-dua pihak untuk mengesahkan ketekalan data. Terdapat banyak cara untuk menjana nilai semakan fail yang biasa digunakan termasuk semakan md5sum, semakan crc, semakan jumlah, dll. Perintahnya ialah: fail parameter algoritma md5sumfile_namecksumfile_namesum
