在一个文件中连接批处理的结果

时间:2016-07-27 16:44:31

标签: windows batch-file for-loop concatenation

通过一些命令,我​​可以从特定代理获取信息。例如OS,架构和版本。

在Windows中,我希望将每个来自代理列表(resources.txt)的结果放入文件中。

我期望的结果是一个简单的txt,如:

Agent agentName - osName - osArch - osVersion
Agent agentName - osName - osArch - osVersion
Agent agentName - osName - osArch - osVersion
Agent agentName - osName - osArch - osVersion

但我无法想象它是怎么做的。

在我的测试中,我使用以下

@echo off
setlocal enabledelayedexpansion EnableExtensions

set resources=c:\resources.txt
set OS=C:\OS.txt
set arch=C:\arch.txt
set version=C:\version.txt

for /F "tokens=1" %%a in (%resources%) do (


echo --------------------- >> %OS%
echo|set /p=Resource: %%a - >> %OS% - >> %arch% - >> %version%

C:\command_to_run_and_get_OS_result %%a >> %OS%
C:\command_to_run_and_get_arch_result %%a >> %arch% 
C:\command_to_run_and_get_version_result %%a >> %version%
)

但取得了任何成功.-

你能帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己回答为此发布解决方案。 一位同事对我表示了一些怜悯并给我这个解决方案。

HttpServletRequest

因此,使用此代码我可以得到以下结果

@echo off
setlocal enabledelayedexpansion EnableExtensions

set resources=c:\resources.txt
set out=C:\out.txt

for /F "tokens=1" %%a in (%resources%) do ( 

 rem >> %version% -name sys.os.version

for /F "tokens=1" %%a in ('C:\command_to_run_and_get_OS_result %%a') do (set os=%%a)
for /F "tokens=1" %%a in ('C:\command_to_run_and_get_arch_result %%a') do (set arch=%%a)
for /F "tokens=1" %%a in ('C:\command_to_run_and_get_version_result %%a') do (set ver=%%a)

                           echo %%a ^| !os! ^| !arch! ^| !ver! >> %out%

感谢@ sambul35和@MarkSetchell感兴趣!