Может быть хорошей идеей будет использовать что-то вроде busybox-w32
и просто запускать сценарии как есть с минимальными изменениями.
Я пропустил повторяющиеся команды.Пожалуйста, попробуйте выяснить, как все работает, а не просто скопировать мою заявку - возможно, я что-то напутал.
Кроме этого, здесь идет речь:
Unix:
$ cat > npm
Windows:
copy CON npm.bat
(завершить ввод файла с помощью ENTER
, CTRL+Z
, ENTER
)
Хотя это может быть проще сделать
notepad npm.bat
, поскольку он всегда устанавливается вместе с ОС.
Unix:
#!/bin/sh
Windows:
не поддерживает шебанги.Вам нужно назвать свой скрипт с расширением .bat
или .cmd
.Эта строка должна быть опущена.Комментарии начинаются с rem
Unix:
cd $(dirname $0)
Windows:
cd %~dp0
Запустите call /?
, чтобы узнать, что это значит.
Unix:
PATH="$PWD/node/":$PATH
Windows:
set path=%cd%\node;%path%
см. set /?
и path /?
Unix:
node "node/node_modules/npm/bin/npm-cli.js" "$@"
Windows:
node "node\node_modules\npm\bin\npm-cli.js" %*
Вам нужно будет нажать ENTER
, Ctrl+Z
, ENTER
здесь, если вы сделали copy CON
вещь
Unix:
$ chmod +x npm
Windows:
Никаких действий не требуется.В Windows все файлы, оканчивающиеся на .bat
и .cmd
, являются исполняемыми по умолчанию, и люди очень редко беспокоятся о правах доступа вообще.
Unix:
$ ./ng --version
Windows:
ng --version
Windows выполняет файлы из текущего каталога по умолчанию
Unix:
$ cat client/.gitignore >> .gitignore
Windows:
type client\.gitignore >> .gitignore
Unix:
$ rm -rf client/node* client/src/favicon.ico client/.gitignore client/.git
Windows:
rd /s /q "client\node*"
del /y "clientsrc\favicon.ico"
del /y "client\.gitignore"
del /y "client\.git"
Windows не поддерживает удаление или копирование нескольких файлов одной командой
Unix:
$ sed -i '/node_/anode/' .gitignore
Windows:
Вы можете скачать и установить sed for windows
или открыть notepad
и использовать команду Replace
из своего меню.Он не поддерживает регулярные выражения.
Unix:
$ cp -rf client/* .
Windows:
xcopy /S /E /I /Y "client\*" .\
Вы также можете использовать robocopy
, см. robocopy /?
и xcopy /?
Unix:
$ cp client/.??* .
Windows:
copy /y "client\.*" .
Я не уверен, что именно они пытаются сделать с этим, но если это копирует только файлы, которые имеютровно два или более символов, это может быть немного сложно в Windows, так как ??
интерпретируется как *
командным процессором.Вам понадобится цикл for
, затем проверьте, что if
%variable:~3:1%
пуст или что-то в этом роде.Может быть проще полностью переработать эту команду в зависимости от контекста.См. for /?
, if /?
, set /?
и / или этот сайт