JavaScript是一種高級(jí)編程語(yǔ)言,廣泛應(yīng)用于Web應(yīng)用程序中,不僅僅能夠運(yùn)行在瀏覽器中,也可以在服務(wù)器端運(yùn)行。
JavaScript可以執(zhí)行各種操作系統(tǒng)命令,如:執(zhí)行CMD命令、讀取文件、切換目錄等等。在Windows平臺(tái)上,可以使用child_process模塊來(lái)執(zhí)行CMD命令。
var exec = require('child_process').exec; var cmd = 'dir'; var child = exec(cmd, function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } });
以上代碼執(zhí)行了一個(gè)簡(jiǎn)單的CMD命令,在控制臺(tái)中輸出當(dāng)前目錄下的文件名。執(zhí)行結(jié)果如下:
stdout: Volume in drive C is Windows Volume Serial Number is AACC-5B1B Directory of C:\Users\Administrator\Desktop\test 2021/03/13 12:08. 2021/03/13 12:08 .. 2021/03/13 12:08 0 test.txt 1 File(s) 0 bytes 2 Dir(s) 361,990,147,008 bytes free stderr:
上述代碼中,將CMD命令“dir”賦值給變量cmd,并使用child_process模塊的exec方法執(zhí)行CMD命令。當(dāng)CMD命令執(zhí)行完成后,文本輸出到stdout中。如果命令執(zhí)行失敗,錯(cuò)誤信息將輸出到stderr中。
在執(zhí)行CMD命令時(shí),不僅可以獲取命令輸出的內(nèi)容,還可以將輸出內(nèi)容寫入到文件中。以下是一個(gè)示例代碼:
var exec = require('child_process').exec; var cmd = 'echo Hello, World! >output.txt'; exec(cmd, function (error, stdout, stderr) { if (error !== null) { console.log('exec error: ' + error); } });
上述代碼將CMD命令“echo Hello, World! >output.txt”賦值給變量cmd,并使用child_process模塊的exec方法執(zhí)行CMD命令。該命令將“Hello, World!”寫入到output.txt文件中。
在JavaScript中執(zhí)行CMD命令非常靈活,可以執(zhí)行任何CMD命令,例如:復(fù)制、移動(dòng)、刪除文件等等。需要注意的是,在執(zhí)行命令時(shí),一定要注意安全性,不能隨意執(zhí)行系統(tǒng)命令,避免系統(tǒng)被攻擊或?yàn)E用。