gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 00:46:01 24 4
gpt4 key购买 nike

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

代码:

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){});

命令字符串:

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”)工作得很好,所以我不'不知道这里发生了什么。

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

最佳答案

我为任何关心的人找到了解决方案。

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

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 可以修复它。

TIMEOUT 0
rundll32 C:\\Windows\\System32\\shimgvw.dll ImageView_PrintTo /pt %*

关于Node.js "exec"命令不适用于 rundll32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34688478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com