Вставлять Javascript в .bat файлы

Является ли любой способ выполнить javascript из .bat файла или вставить javascript в .bat файл.

Мне нужен код javascript для записи/чтения файла в локальной папке. Этот javascript должен быть способен выполнить его с помощью .bat.

Возможно ли это?.

Спасибо

SNA

Ответ 1

Следуйте этим двум шагам, чтобы запустить Javascript в пакетном файле Windows.BAT или .CMD.

Первый шаг: добавьте эти строки в начало вашего файла

@set @junk=1 /*
@echo off
cscript //nologo //E:jscript %0 %*
goto :eof
*/

Второй шаг: напишите свой Javascript только для использования объектов, доступных в Windows Scripting Host, т.е. используйте 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. Никогда больше не пытайтесь работать с другим свернутым пакетным файлом.

Ответ 2

в Windows, в пакетном файле, попробуйте

cscript jsfile.js

Ответ 3

Я знаю, что я немного опаздываю на это, но если у вас в вашей системе установлен node.js, вы можете использовать файл bat для вызова функции node и выполнить код javascript.

https://nodejs.org/en/

Node.js(при использовании модулей) позволяет делать несколько вещей, которые могут делать файлы bat. Используя только javascript, вы можете редактировать/фраять локальные файлы, запускать exe файлы ect... ect..

Пошаговое руководство по настройке этого будет: 1) скачать и установить node.js https://nodejs.org/en/download/ 2) Создайте файл javascript на своем компьютере с кодом js, который вы хотите запустить. В этом файле вы добавите код, чтобы позволить 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) создайте файл bat как это:

echo off

node "path-to-javascript\index.js"

И вы все настроены!

Ответ 4

Вы можете запустить JScript script из пакетного файла с помощью узла сценариев на основе командной строки CScript.exe.

Вам понадобится script в отдельном файле, который вы передадите в качестве аргумента в CScript.exe. Если вы хотите сохранить все в файле sinle, вы можете вставить JScript-код в ваш пакетный файл, выгрузить его во временный файл, который вы передадите в CScript.exe, и впоследствии удалить временный файл script.

Там могут быть более элегантные решения (надеюсь)

Ответ 5

Это вид. Конечно, в Windows.

Тем не менее, возможно, лучший способ сделать это. Для чего вам нужен JavaScript? Почему это должен быть JavaScript?

Ответ 6

Короткий ответ: нет.

Javascript (при запуске из браузера) не может получить доступ к клиентским ресурсам (это по дизайну, чтобы избежать угроз безопасности).

Вы можете использовать Javascript за пределами браузера, чтобы создавать скрипты, но вы должны предоставить более подробную информацию о том, что вы пытаетесь сделать (и о том, какую оперативную систему вы планируете запустить).

Кроме того, проверьте эту страницу для более подробной информации.

Ответ 7

Вы можете запустить JScript script из пакетного файла с помощью узла сценариев на основе командной строки CScript.exe.

Вам понадобится script в отдельном файле, который вы передадите в качестве аргумента в CScript.exe. Если вы хотите сохранить все в одном файле, вы можете вставить JScript-код в свой пакетный файл, выгрузить его во временный файл, который вы передадите в CScript.exe, и впоследствии удалить временный файл script.

Там могут быть более элегантные решения (надеюсь)