执行命令,获取输出并使用它

时间:2014-02-20 14:50:04

标签: batch-file command-line cmd

我正在尝试执行一个超出命令的Windows批处理文件,并向其传递一个作为批处理文件的参数接收的流程参数,然后我需要获取此执行的输出并对其执行某些操作在将其发送到批处理输出之前(剪切输出以仅获取第一个字符)。 这就是我到目前为止所做的:

for /f %%i in ('"C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamc.exe" < %1') do set RES2 = %%i
ECHO %RES2~0,1%

但它没有按照我的预期运作。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

for /f %%i in (
    '"C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamc.exe" ^< %1'
) do set RES2=%%i
ECHO %RES2:~0,1%

您的代码有三处变化。回波线中的冒号(需要,它是sintax的一部分),转义的重定向和在设定线中等号周围移除的空间。对于空格,变量名称包含一个空格,变量内部的值也有一个空格(它将是第一个,因此后面的echo命令将失败)

相关问题