草庐IT

Windows 批处理脚本 : Pipe text into a command line application

我正在编写一个批处理脚本来自动执行一些3D打印过程。现在,我的代码如下所示:echoconnectCOM5230400>3dprint.txtechoload3dprint01.gcode>>3dprint.txtechoprint>>3dprint.txttype3dprint.txt|C:\Printrun\pronsole.exe所以Pronsole是一个命令行应用程序,它接受用户输入的命令(如上面的连接、加载和打印)。在上面,我让批处理文件创建了一个文本文件并将其传递到应用程序中-除非它遇到EOF,否则会导致pronsole崩溃。是否有替代方法将(stdin样式)文本传递到此不

java.io.IOException : The pipe is being closed is thrown on Windows but works fine on Linux 异常

我正在尝试使用Java中的Runtime.getRuntime.exec()运行命令。Runtimer=Runtime.getRuntime();Processprocess=r.exec("telnet172.16.221.87");InputStreamis=process.getInputStream();OutputStreamos=process.getOutputStream();BufferedWriterbr=newBufferedWriter(newOutputStreamWriter(os));br.write("ditech\r\n");br.flush();//

c++ - 将 Windows 命名管道与 ffmpeg 管道一起使用

我正在尝试使用Windows管道将数据写入FFmpeg中的输入管道。我正在为FFmpeg使用以下命令:ffmpeg-r24-pix_fmtrgba-s1280x720-frawvideo-y-i\\.\pipe\videopipe-fs16le-ac1-ar44100-i\\.\pipe\audiopipe-acodecpcm_s16le-ac1-b:a320k-ar44100-vfvflip-vcodecmpeg1video-qscale4-bufsize500KB-maxrate5000KBOUTPUT_FILE我尝试使用CreateFile()方法连接到它,但这似乎不起作用。在开

windows - 使用管道时如何检测 diskpart 中的错误?

我试图通过用通过管道发出的命令替换它来消除用于自动化diskpart的临时脚本文件(即diskpart/sscriptFile),但是我似乎无法弄清楚如何检测diskpart何时抛出错误.如果您有一个驱动器N:将selectvoln更改为一个不存在的驱动器,这样diskpart将产生一个错误:((echoselectdisk0echolistpartitionechoselectvoln)|diskpartsetfoundErr=1iferrorlevel0ifnoterrorlevel1set"foundErr="ifdefinedfoundErrgoto:errorMsgechoS

r - 命令行 - 适用于 Windows 的 Awk 命令

我有一个包含数百万行的CSV文件。我想打开一个文件连接并在R中打开它之前过滤掉不需要的行。具体来说,我想从第二行开始每30行导入一次。我在Windows机器上操作。我知道以下命令可以在Apple上实现预期的结果;但是,它在我的Windows机器上不起作用。awk'BEGIN{i=0}{i++;if(i%30==2)print$1}'在R中,如果我在Apple上运行这段代码,我会得到想要的结果:write.csv(1:100000,file="test.csv")file.pipe显然,我对WindowsCLI一无所知,所以有人可以帮我将这个awk命令翻译成Windows语言,并可能解释

c++ - QProcess with non-wrapped pipe symbol |在参数列表中

你好,亲爱的stackoverflow用户,尝试在Windows上使用QProcess运行命令时遇到问题。除了对一个论点的解释外,一切正常。我正在调用vcbuild.exe来构建visualstudio2008解决方案。调用看起来像这样:QStringprogram="cmd.exe";QStringListarguments;arguments问题是,像“Debug|Win32”这样的名称是许多解决方案的常见配置名称,我想以编程方式构建它,调用我使用QProcess的程序-但符号“|”被视为管道符号,windows说:“命令Win32错误或找不到。”(orig."DerBefehl"

c - 使用 _pipe 非 block 重定向 STDOUT

正如标题所说,我正在尝试重定向stdout,以测试我有以下程序:#include#include#include#include#defineBUFFER_SIZE4096intmain(intargc,char*argv[]){intfdStdOutPipe[2];intfdStdOut;printf("ConsolePrint...\n");//Startfflush(stdout);_pipe(fdStdOutPipe,BUFFER_SIZE,O_RAW);fdStdOut=_dup(_fileno(stdout));_dup2(fdStdOutPipe[1],_fileno(s

c# - 如何取消 PIPE 操作?

我有一个C++和C#应用程序,我在其中使用命名管道向彼此发送命令。它运行良好,直到我注意到我无法取消Read()调用,我正在使用一个停止变量但没有注意到这不是我所需要的,因为它无法读取停止变量状态直到离开Read()称呼。我发现我会使用PIPE_NOWAITCreateNamedPipe()中的属性称呼。当我添加它时,C#抛出System.NullReferenceException因为FileStream为null,所以它是从newFileStream(clientHandle,FileAccess.ReadWrite,BUFFER_SIZE,true);创建的,其中clientHa

windows - 使用命名管道作为文件

这里是一个简单的问题(虽然可能不是一个简单的答案):是否可以为程序使用的(现有的)命名管道指定一个路径,就好像它们在普通文件上打开一样?根据thisMSDNpage,可以使用以下路径语法引用本地计算机上的名称管道:\\.\pipe\PipeName,但我无法在标准Windows程序中使用它。顺便提一下,如果有人对与只能以比物理I/O(例如命名管道)更有效的方式使用文件系统的程序进行交互有任何建议,我很乐意采纳它们. 最佳答案 只有当程序使用Win32APICreateFile()函数打开文件时,它才会起作用。

php - 为什么我不能多次打开命名管道?

我似乎无法从PHP中多次打开Windows命名管道:$pipe1=fopen($pipeName,'r+');//(1)fclose($pipe1);$pipe2=fopen($pipeName,'r+');//(2)fclose($pipe2);(1)成功,我可以写入管道或在其上打开阻塞读取。(2)失败fopen(\\.\pipe\encoding):failedtoopenstream:Invalidargument“无效参数”似乎指的是模式,但我已经尝试了(1)和(2)之间所有不同的模式组合,没有任何区别。无论是在同一个进程还是另一个进程,它也会失败。我正在创建管道:Create