Задать вопрос
khusamov
@khusamov
ReactJS, NodeJS, TypeScript, Sencha ExtJS

Почему в bat-файле команда не работает, а в командной строке ошибок нет?

Вот команда

set NODE_PATH=C:\Program Files\Element2\modules; && cd C:\Program Files\Element2 && nodemon ./index.js -- --config D:\Element2\config.js


При запуске ее в командной строке, все запускается без ошибок.

А вот если ее запихнуть в BAT-файл и запустить файл, то возникает ошибка:

D:\Element2>set NODE_PATH=C:\Program Files\Element2\modules;

D:\Element2>nodemon "C:\Program Files\Element2\index.js" -- --config D:\Element2\config.js
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node "C:\\Program Files\\Element2\\index.js" --config D:\Element2\config.js`
module.js:471
    throw err;
    ^

Error: Cannot find module 'D:\Element2\"C:\Program'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:508:3
[nodemon] app crashed - waiting for file changes before starting...
  • Вопрос задан
  • 4896 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
NeiroNx
@NeiroNx
Программист
Ну это же очевидно - разделитель пробел. Чтобы пробел считался частью переменной текст нужно брать в кавычки.
set NODE_PATH="C:\Program Files\Element2\modules;" && cd C:\Program Files\Element2 && nodemon ./index.js -- --config D:\Element2\config.js


А еще забыл сказать что CD не может менять диск - работает только в пределах одного диска - на котором запущен интерпритатор.

тут еще смайлик положен :рукалицо:
Ответ написан
zamboga
@zamboga
Аналитика данных, BI-аналитика, дашборды
Похоже, кавычки в полном пути файла пропущены, в батнике или в самом скрипте.

И еще, обязательно в одной строке через амперсанд запускать? Может и в этом быть засада.
Ответ написан
khusamov
@khusamov Автор вопроса
ReactJS, NodeJS, TypeScript, Sencha ExtJS
set NODE_PATH=%ProgramFiles%\Element2\modules;
cd /D %ProgramFiles%\Element2
nodemon index.js -- --config D:\Element2\config.js
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы