вставлять Javascript в файлы .bat - PullRequest
       11

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

3 голосов
/ 24 февраля 2010

Есть ли какой-либо способ выполнить javascript из файла .bat или встроить javascript в файл .bat.

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

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

Спасибо

SNA

Ответы [ 7 ]

12 голосов
/ 15 февраля 2011

Выполните эти два шага, чтобы запустить 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. Никогда больше не боритесь с другим запутанным пакетным файлом.

1 голос
/ 26 октября 2017

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

https://nodejs.org/en/

Node.js (при использовании модулей) позволяет вам делать довольно много вещей, которые могут делать файлы bat. Используя только javascript, вы можете редактировать / формулировать локальные файлы, запускать exe-файлы и т. Д ... 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"

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

1 голос
/ 24 февраля 2010

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

cscript jsfile.js

0 голосов
/ 24 февраля 2010

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

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

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

0 голосов
/ 24 февраля 2010

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

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

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

0 голосов
/ 24 февраля 2010

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

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

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

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

0 голосов
/ 24 февраля 2010

Это сорт . Конечно, только в Windows.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...