是否有任何方式從.bat文件執行javascript或將JavaScript嵌入到.bat文件中。將Javascript嵌入到.bat文件中
我需要一個JavaScript代碼來寫/讀本地文件夾中的文件。這個JavaScript我應該能夠使用.bat來執行它。
是否有可能?
感謝
SNA
是否有任何方式從.bat文件執行javascript或將JavaScript嵌入到.bat文件中。將Javascript嵌入到.bat文件中
我需要一個JavaScript代碼來寫/讀本地文件夾中的文件。這個JavaScript我應該能夠使用.bat來執行它。
是否有可能?
感謝
SNA
在Windows上,在一個批處理文件,嘗試
CSCRIPT jsfile.js
是,sort of。當然,只在Windows上。
也就是說,可能有更好的方法來做到這一點。你需要JavaScript來做什麼?爲什麼它必須是JavaScript?
簡答:沒有。
Javascript(從瀏覽器運行時)無法訪問客戶端資源(這是爲了避免安全風險而設計的)。
您可以使用瀏覽器外部的的Javascript 來創建腳本,但是您應該提供關於您正在嘗試執行的操作(以及您希望運行的操作系統)的更多詳細信息。
此外,請檢查this page瞭解更多詳情。
您可以使用基於命令行的腳本主機CScript.exe從批處理文件運行JScript腳本。
您需要將腳本放在單獨的文件中,儘管您將該腳本作爲參數傳遞給CScript.exe。如果您希望將所有內容都保存在單獨的文件中,則可以將JScript代碼嵌入到批處理文件中,將其轉儲到臨時文件,然後將其傳遞給CScript.exe,然後刪除臨時腳本文件。
可能有更優雅的解決方案(希望)
您可以從一個批處理文件與基於命令行的腳本宿主CScript.exe運行的JScript腳本。
您需要將腳本放在單獨的文件中,儘管您將該腳本作爲參數傳遞給CScript.exe。如果要將所有內容保存在單個文件中,可以將JScript代碼嵌入到批處理文件中,將其轉儲到臨時文件,然後將其傳遞給CScript.exe,然後刪除臨時腳本文件。
可能有更優雅的解決方案(希望)
按照這兩個步驟在Windows批處理文件運行JavaScript,或者.bat或.cmd。
第一步:這些行添加到您的文件的開頭
@set @junk=1 /*
@echo off
cscript //nologo //E:jscript %0 %*
goto :eof
*/
第二步:寫你的Javascript只使用在Windows腳本宿主提供的對象,即使用Wscript.Echo()在標準輸出上打印輸出。
這裏是準備通過鍵入calen 2011 02
@set @junk=1 /*
@echo off
cscript //nologo //E:jscript %0 %*
goto :eof
*/
x = WScript.Arguments
Yr = x(0) ; Mo = x(1)
YS = "JanFebMarAprMayJunJulAugSepOctNovDec"
MN = Mo<1 || Mo>12 ? Mo : YS.substr(3*Mo-3, 3) // Month Name
WScript.echo(" ", Yr, " ", MN)
WScript.echo(" Mo Tu We Th Fr Sa Su")
WD = new Date(Yr, Mo-1, 1).getDay() ;
if (WD==0) WD = 7 // Week Day Number of 1st
LD = new Date(Yr, Mo, 0).getDate() // Last Day of month
Wk = "" ; for (D=1 ; D < WD ; D++) Wk += " "
for (D=1 ; D<=LD ; D++) {
Wk = Wk + " " + (D<10 ? "0"+D : D) ; WD++
if ((WD==8) || (D==LD)) { WScript.echo(Wk) ; WD = WD-7 ; Wk = "" }
}
WScript.echo(" ------ ")
只是把這個在calen.bat或calen.cmd和任何合理最近的Windows上運行它來運行一個完整的例子。 不要再次與另一個複雜的批處理文件鬥爭。
我知道我有點晚了,但如果你的系統上安裝了node.js,你可以使用bat文件來調用節點函數並執行你的javascript代碼。
的Node.js(使用模塊時)讓你做了不少事情BAT文件可以做到。使用只有JavaScript可以編輯/詞組本地文件,運行exe文件等...等..
一步一步的指導,這一設置是: 1)下載並安裝的node.js https://nodejs.org/en/download/ 2)用你想運行的js代碼在你的電腦上創建一個javascript文件。 在此文件中,您將添加代碼以允許node.js訪問您計算機上的本地文件。把下面的代碼在你的JavaScript文件的頂部:
//Load required modules
fs = require('fs')
//Function to read local files
fs.readFile('path-to-file/this-is-my-file.txt', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
//data is the text file
}
3)創建一個批處理文件是這樣的:
echo off
node "path-to-javascript\index.js"
而你所有的設置!
當我們談論'.bat'文件時,「僅在Windows上」是一個問題嗎?我不認爲有人在DOS上試圖做到這一點。 – 2010-02-24 11:10:27
@Joachim指出操作系統的限制永遠不會出錯IMO - true,'.bat'特定於Windows世界,但shell腳本通常不是。 – 2010-02-24 16:11:10