首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js "exec“命令不适用于rundll32

Node.js "exec“命令不适用于rundll32
EN

Stack Overflow用户
提问于 2016-01-09 08:50:40
回答 1查看 254关注 0票数 1

我设置了一个简单的节点服务器,用于自动打印图像。

代码:

代码语言:javascript
复制
var directory =  process.env['USERPROFILE'] + '\\Downloads\\';
var command = 'rundll32 C:\\Windows\\System32\\shimgvw.dll ImageView_PrintTo /pt "' + directory + imageName + '" "EPSON TM-C3500"';
exec(command, function(error, stdout, stderr){});

命令字符串:

代码语言:javascript
复制
rundll32 C:\Windows\System32\shimgvw.dll ImageView_PrintTo /pt "C:\Users\gperry\Downloads\badge_0_12968249.jpg" "EPSON TM-C3500"

如果我在cmd.exe进程中运行该命令,它可以很好地工作,但exec命令似乎什么也做不了……在exec中运行其他命令,比如"mspaint /pt“工作得很好,所以我不知道这是怎么回事。

非常感谢您的帮助!谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-01-20 04:50:59

我找到了解决方案,对所有关心的人来说。

我更改了命令,以执行对批处理脚本的调用,该脚本随后调用打印命令。

代码语言:javascript
复制
var directory =  process.env['USERPROFILE'] + '\\Downloads\\';
var command = 'start cmd.exe /C ' + __dirname + '\\print.bat ' + directory + imageName + ' "EPSON TM-C3500"';
exec(command, {}, function(error, stdout, stderr){});

但是批处理脚本不起作用了。为什么?我不知道。我知道在批处理脚本中添加TIMEOUT 0可以解决这个问题。

代码语言:javascript
复制
TIMEOUT 0
rundll32 C:\\Windows\\System32\\shimgvw.dll ImageView_PrintTo /pt %*
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34688478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档