/
Вопросы и ответы
/
Помощь
/

Ошибка при запуске скриптов через ./ в Windows

Ошибка при запуске скриптов через ./ в Windows

При попытке выполнить скрипт в Windows через команду:

./gradlew

или в Makefile с ./gradlew clean install появляется ошибка:

"." не является внутренней или внешней командой, исполняемой программой или пакетным файлом

Почему так происходит и как корректно запускать скрипты с ./ в Windows?

7 дней назад

Nikolai Gagarinov

Ответы

1

Проблема связана с особенностями Windows:

  1. Синтаксис ./ работает в Unix-подобных системах (Linux, macOS) для запуска исполняемых файлов в текущей директории.
  2. В Windows CMD эта конструкция не распознаётся и приводит к ошибке. Windows ожидает либо полный путь, либо использование обратного слэша .\.

Решения:

  • Использовать обратный слэш в CMD или PowerShell:
.\gradlew clean install
  • Запуск через PowerShell с разрешением на выполнение скриптов: Если скрипт .bat или .ps1, убедитесь, что политика исполнения позволяет запуск:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

После этого в PowerShell можно запускать скрипт:

.\gradlew
  • Для Makefile на Windows замените все ./ на .\ в командах, чтобы они корректно работали.

  • Альтернатива: использовать WSL (Windows Subsystem for Linux) или Git Bash — там синтаксис ./gradlew будет работать, как в Linux.

Вывод: ./ в Windows нужно заменять на .\ или использовать оболочку, поддерживающую Unix-синтаксис.

7 дней назад

Nikolai Gagarinov