WindowsXPマシンにnodejsをサイレントインストールするためのバッチファイルを作成しています。
ノードモジュールの依存関係のインストールを自動化しようとしています(npminstall)。
私は通常、ターゲットインストールディレクトリのcmdプロンプトからnpminstallを発行します。
バッチファイルからのコマンドプロンプトとの対話を自動化するのに苦労しています。
バッチスクリプトの次の行を使用すると、コマンドのテキストファイルをcmdにパイプ処理できるようになります。
for /F "usebackq delims=," %%i in ("c:\foo\source\npm_install.txt") do echo %%i | "c:\windows\system32\cmd.exe"
バッチファイルはc:\ foo\sourceにあります。c:\ foo\binから「npminstall」を発行する必要があります。
私のnpm_install.txtファイルがそのようなものである場合:
cd /d c:\foo\bin,
npm install
cmdプロンプトは、ディレクトリをc:\からc:\ foo\binに変更する最初のコマンドを実行します。
次に、2番目のコマンドを実行しますが、c:\から再開します。ディレクトリを変更する前のコマンドは持続しません。テキストファイル内のすべてのコマンドはc:\から発行されるようです。
次に、組み合わせたステートメントから両方のコマンドを発行しようとしました。
cd /d c:\foo\bin && npm install
このアプローチにより、以前のパスの問題を克服できるようですが、npmとinstallの間のスペースに問題があります。
cmdプロンプトはc:\ foo \ bin> npmを実行し、npmをスペースでトリップさせます。
コマンドを囲んでみましたが、成功しませんでした:'npm install'、 "npm install"、(npm install)。
誰かが私が間違っていることを教えてもらえますか?
ありがとう。