gpt4 book ai didi

windows - 我如何在 WinCC OA 中将 system() 与 rxrepl 一起使用?

转载 作者:可可西里 更新时间:2023-11-01 10:12:45 26 4
gpt4 key购买 nike

我尝试使用:

string result;
string path = "C:/winccoa.projects/filters/bin/tools/rxrepl.exe";
string cmd = "'opcki' | " + path + " -s 'op' -r 'tata'";
system(cmd, result);
DebugN(result);

但在 LogViewer 中我什么也没看到,而是 ["tatacki"]

为什么?我做错了什么?

在 PowerShell 中运行良好:

PS C:\> 'opcki' | C:/winccoa.projects/filters/bin/tools/rxrepl.exe -s "op" -r "tata"
tatacki

最佳答案

我假设 WinCC 的 system() 函数以 cmd.exe 为目标,而不是 powershell.exe(这是典型的,因为历史上cmd.exe 已经是默认的 shell,API 不太可能改变,以保持向后兼容性)。

因此,为 cmd.exe 制定命令:

string cmd = "echo opcki | " + path + " -s op -r tata";

不是使用 echo 产生输出和省略单引号 ('...'),cmd.exe 不认识。

如果需要嵌入引号,您必须在 "..." 中使用 `" PowerShell 字符串(或使用 '...' PowerShell 字符串(其内容按字面意思获取)并嵌入 " 字符。按原样)。

关于windows - 我如何在 WinCC OA 中将 system() 与 rxrepl 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52243559/

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