2016-07-27 4 views
-1

Mit einigen Befehlen kann ich Informationen von einem bestimmten Agenten abrufen. Zum Beispiel Betriebssystem, Architektur und Version.Verketten von Ergebnissen aus Batch in einer Datei

In Windows möchte ich jedes Ergebnis aus einer Agentenliste (resources.txt) in eine Datei einfügen.

Das Ergebnis, das ich erwarte, ist eine einfache txt wie:

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

Aber ich kann nicht verstehen, wie es zu tun.

In meinem Test habe ich die

folgende verwenden
@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% 
) 

Aber mit jeder success.-

Können Sie mir helfen?

Vielen Dank!

+4

Ihre Frage ist sehr unklar. Was meinst du? Was ist in 'resources.txt'? –

+0

@Emiliano Sturniolo Versuchen Sie, eine Reihe von verschiedenen Computern im LAN mit einem festen Satz von Benutzeragenten abzufragen? Oder fragen Sie nur einen PC mit mehreren Agenten ab, um deren Ergebnisse zu vergleichen? Fügen Sie in Ihrer Antwort immer einen Benutzernamen hinzu, um den Fragesteller anzurufen. – sambul35

+0

@ sambul35 Ja. Ich möchte verschiedene Computer im LAN mit dem internen Befehl einer speziellen Anwendung abfragen. –

Antwort

0

Ich antworte mir, um eine Lösung dafür zu posten. Ein Kollege zeigt mir etwas Barmherzigkeit und gibt mir diese Lösung.

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

Also, mit diesem Code kann ich die folgenden Ergebnisse

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

Thanks @ sambul35 und @MarkSetchell für Ihr Interesse erhalten!

Verwandte Themen