【问题标题】:Concatenate results from batch in one file将批处理的结果连接到一个文件中
【发布时间】:2016-07-27 16:44:31
【问题描述】:

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

在 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%
)

但是成功了。-

你能帮帮我吗?

谢谢!

【问题讨论】:

  • 你的问题很不清楚。你说的是什么代理? resources.txt 中有什么内容?
  • @Emiliano Sturniolo 您是否尝试使用一组固定的用户代理查询 LAN 上的许多不同计算机?或者您是否只查询一台 PC 与多个代理来比较他们的结果?在您的回复中,请始终添加用户名来页面提问者。
  • @sambul35 是的。我想用一个特殊应用程序的内部命令查询局域网上的不同计算机。
  • @MarkSetchell 代理安装在多台局域网机器上,resoruces.txt 文件中是代理的名称。

标签: windows batch-file for-loop concatenation


【解决方案1】:

我正在回答自己以发布解决方案。 一位同事对我有点仁慈,并给了我这个解决方案。

@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%

所以,通过这段代码,我可以得到以下结果

agentName | osName | osArch | osVersion
agentName | osName | osArch | osVersion
agentName | osName | osArch | osVersion
agentName | osName | osArch | osVersion
agentName | osName | osArch | osVersion

感谢@sambul35 和@MarkSetchell 的关注!

【讨论】:

    猜你喜欢
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多