如果我在bat-file命令中放置启动node
wmic process call create "npm run go","%~dp0."一切都很好:
D:\Temp\Supertemp\wmic npm>wmic process call create "node go","D:\Temp\Supertemp\wmic npm\."
Идет выполнение (Win32_Process)->Create()
Метод успешно вызван.
Параметры вывода:
instance of __PARAMETERS
{
ProcessId = 13292;
ReturnValue = 0;
};但是如果我用npm代替
wmic process call create "npm run go","%~dp0."发生错误9,根据msdn表示找不到路径:
D:\Temp\Supertemp\wmic npm>wmic process call create "npm run go","D:\Temp\Supertemp\wmic npm\."
Идет выполнение (Win32_Process)->Create()
Метод успешно вызван.
Параметры вывода:
instance of __PARAMETERS
{
ReturnValue = 9;
};文件package.json
{
"name": "wmic-npm-test",
"version": "0.0.0",
"scripts": {
"go": "node go"
}
}文件go.js
setInterval(function () {
console.log(require('process').cwd());
}, 1000);如果简单地从控制台启动npm,那么一切都能正常工作:
D:\Temp\Supertemp\wmic npm>npm run go
> wmic-npm-test@0.0.0 go D:\Temp\Supertemp\wmic npm
> node go
D:\Temp\Supertemp\wmic npm
D:\Temp\Supertemp\wmic npm我是通过wmic 获取进程标识开始的。
PS:俄语中同样的问题。
发布于 2017-09-13 11:10:51
有文件npm.cmd和npm文件用于sh
D:\Temp\Supertemp\wmic npm>where npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd要执行npm命令,需要指定要运行cmd-file:
wmic process call create "npm.cmd run go","%~dp0."发布于 2017-09-13 10:57:56
试着这样做(在我对问题的评论中的模式细节):
@echo off
for %%a in (npm.cmd) do set "npm_path=%%~f$PATH:a"
echo %npm_path%
wmic process call create "cmd.exe /c call \"%npm_path%\" ","%~dp0."https://stackoverflow.com/questions/46194909
复制相似问题