Почему bat файл ищет для запуска файл, находящийся в той же папке, в совсем другой директории?

Рейтинг: 0Ответов: 1Опубликовано: 18.01.2023

Я пытаюсь с помощью установленной в Windows node.js запустить тест из библиотеки тестирования Cypress при включении компьютера. Создал .bat файл в автозагрузке: скриншот

В том .batфайле команда:

node testCall.js

Командная строка по непонятной мне причине ищет файл по пути С:\Windows\system32: введите сюда описание изображения

Подскажите, пожалуйста, почему поиск происходит в С:\Windows\system32, а не в том каталоге, из которого запускается .bat файл?

Ответы

▲ 1

В комментарии уже написали, в чём проблема, но я напишу более развёрнуто.

Когда вы "в ручную" открываете cmd, она открывается из "каталога по умолчанию". А это C:\Windows\system32. При запуске bat-файла происходит то же самое, только команду набираете не вы, а батник.

Командная строка ищет файлы в текущем каталоге, если вы не указали полный путь к файлу. А раз текущий каталог - C:\Windows\system32, то cmd ищет там ваш файл и выдаёт ошибку: "не могу найти файл".

Как исправить проблему:

Вам нужно просто перейти в тот каталог, в котором лежит ваш файл. В вашем .bat файле пропишите:

cd полный_путь_к_папке

Если папка лежит не на диске C:, то всё чуть-чуть сложнее. Например, у вас есть папка d:\programs. Вот как к ней перейти:

cd /D d:\programs

/D - это буква диска.

Вот здесь можно почитать про переходы в папки. Или, например, здесь .