@vasIvas

Как добавить часть пути в .cmd?

У меня windows 8 и установленный в ней глобально nodejs.
По адресу D:\projs\current_proj\node_modules\.bin\ лежат
два файла sails.cmd и sails -
@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\..\sails\bin\sails.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  "%~dp0\..\sails\bin\sails.js" %*
)

#!/bin/sh
basedir=`dirname "$0"`

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

if [ -x "$basedir/node" ]; then
  "$basedir/node"  "$basedir/../sails/bin/sails.js" "$@"
  ret=$?
else 
  node  "$basedir/../sails/bin/sails.js" "$@"
  ret=$?
fi
exit $ret


Sails это сервер, который должен быть установлен в глобале,
но у меня он считается локальным, так как адрес у него
D:\projs\current_proj\node_modules\sails\.....

Чтобы мне управлять всеми модулями nodejs мне приходится
запускать консоль из папки D:\projs\current_proj\node_modules\.bin\
и все работало и меня устраивало до появления сервера, который
генерирует через консоль файлы. Но генерирует их в ту папку из
которой я запускаю консоль, а мне нужно чтобы на две директории
выше и в одну вглубь. И чтобы это сделать, мне приходится переходить
в нужную мне папку и писать в консоле
D:\projs\current_proj\server> D:\projs\current_proj\node_modules\.bin\sails generate ...

И чтобы все это делать мне приходится держать две консоли, а это
немного напрягает. По этому прошу тех кто понимает в языках
которые я показал, помочь, рассказав куда там нужно дописать путь,
чтобы работало так, как мне нужно.
  • Вопрос задан
  • 3116 просмотров
Решения вопроса 1
@OvLab
Может я не совсем понял вопрос, но что мешает прописать все пути жестко?
UPD:
Ну как-то так: "%~dp0" - это путь, откуда запущен cmd-файл. Первыми двумя командами устанавливаем текущую папку - куда будут файлы формироваться, а далее меняем "%~dp0" на его постоянное значение.
@D:
@CD "D:\projs\current_proj\server"
@IF EXIST "D:\projs\current_proj\node_modules\.bin\node.exe" (
  "D:\projs\current_proj\node_modules\.bin\node.exe"  "D:\projs\current_proj\node_modules\sails\bin\sails.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  "D:\projs\current_proj\node_modules\sails\bin\sails.js" %*
)
@CD "D:\projs\current_proj\node_modules\.bin"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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