【发布时间】:2015-03-04 22:12:14
【问题描述】:
我正在尝试将child_process.spawn 与 msdeploy.exe 一起使用,以在 IIS 中自动部署某些应用程序。
每当我的目标站点名称中有空格时,都会导致 msdeploy 崩溃。
var command = 'C:/Program Files/IIS/Microsoft Web Deploy V3/msdeploy.exe';
var args = [];
args.push('-verb=sync');
args.push('-source:iisApp=C:/Users/PATH_TO_DEPLOY/dist');
args.push('-dest:iisApp=Default Web Site/test');
var process = spawn(command,args);
process.stdout.on('data', function(data) { grunt.log.write(data) });
process.stderr.on('data', function(data) { grunt.log.error(data); });
process.on('exit', function(code) {
if (code !== 0) {
grunt.fail.warn('Something went wrong');
}
done();
});
我尝试了其他一些替代方法,例如 put "'-dest:iisApp="Default Web Site/test"',但 msdeploy 也给了我一个错误。
这个错误就像:Argument '"-dest:iisApp=Default Web Site/haha"' not recognized. All arguments must begin with "-" char.
当我尝试转义空格字符或像上面描述的那样输入“时,这给了我一个类似的错误。
这是 nodejs 的错误吗?也许我做错了什么? 谢谢。
【问题讨论】:
标签: node.js space child-process spawn