Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Inhalte einer *.bat Datei auslesen und in bestimmte Zellen in Microsoft Excel 2k einfügen

Frage Entwicklung Batch & Shell

Mitglied: Forencamper

Forencamper (Level 1) - Jetzt verbinden

01.09.2006, aktualisiert 13:04 Uhr, 9609 Aufrufe, 9 Kommentare

Bei uns im Unternehmen wird jeder Drucker dem Client per Batch-Datei zugewiesen. Ich möchte nun diese Batch-Dateien automatisiert auslesen, und den Inhalt in eine Excel-Tabelle schreiben.

Der Name der Batchdatei ist jeweils der PC-Name (G011C222.bat). Dieser sollte als erstes in der Excel-Tabelle eingefügt werden.
Die Batch-Datei ist wie folgt aufgebaut:
%logonserver%\netlogon\tools\con2prt.exe /c \\g011sprt01\VS_T612
%logonserver%\netlogon\tools\con2prt.exe /cd \\g011sprt01\VS_T630


Ich möchte nun auslesen, auf welchen Server zugegriffen wird (G011SPRT01), und welcher Netzwerkdrucker verwendet wird (VS_T612) und welcher Drucker derzeit als Standard gesetzt wird.

Dies sollte alles in eine Excel-Tabelle.
Mein Problem ist es, dass ich ca. 900 Batch-Dateien habe die ausgelesen werden sollten.
es muss also automatisiert geschehen.

Hat jemand von euch vielleicht eine Idee dazu, WIE es mit VBA ausgelesen werden kann?

Vielen Dank schonmal im Vorraus,

gruß

Forencamper
Mitglied: Biber
01.09.2006 um 10:53 Uhr
Moin Forencamper,

VBS wäre mir zu langatmig dafür.
Ich empfehle folgenden Oneliner vom CMD-Prompt aus:
01.
>for %x in (x:\pfad\g0*.bat) do @for /f "tokens=3" %i in (%x) do @for /f "tokens=1-2 delims=\" %a in ("%i") do @echo %~nx;%a;%b 
02.
G0111c222.bat;g011sprt01;VS_T612 
03.
G0111c222.bat;g011sprt01;VS_T630
...wobei ich unterstellt habe, dass die *.bat's auf x:\pfad liegen und alle mit "g0*" anfangen. Ggf. anpassen.
Umleiten in eine Textdatei mit ">>logfile.xyz"
Dann hast Du es im Excel-tauglichen CSV-Format Computernamen;Printserver;Drucker

Aber mit VBS/VBA gehts bestimmt schneller...

Gruß
Biber
Vielen Dank schonmal im Vorraus,
P.S Diese Formulierung ist in diesem Seitenarm des Forums Off Limits.
Bitte warten ..
Mitglied: 8644
01.09.2006 um 10:53 Uhr
Hi,

zwei Fragen dazu:
- um wieviele Batch-Dateien handelt es sich?
und
- wo sind diese abgelegt (unterschiedliche Pfade)?

[Edit: Vergiss es wieder - Biber war schneller!]

Psycho
Bitte warten ..
Mitglied: Biber
01.09.2006 um 10:57 Uhr
[Edit: Vergiss es wieder - Biber war schneller!]
..aber nur 3 Sekunden..
Bitte warten ..
Mitglied: Forencamper
01.09.2006 um 11:19 Uhr
@Biber:

irgendwie funktioniert des mit dem code nicht...
also bei mir poppt ganz kurz das CMD Fenster hoch,
dann ist es wieder weg...
weißt Du woran das liegen könnte?
Bitte warten ..
Mitglied: Biber
01.09.2006 um 11:33 Uhr
Moin Forencamper,

Du solltest es schon (erst) am CMD-Prompt austesten.
Also über Start->Ausführen->cmd oder ähnliches ein CMD-Fenster öffnen.
Und dort diese Zeile abschicken.

Gruß
Biber
Bitte warten ..
Mitglied: Forencamper
01.09.2006 um 12:28 Uhr
also, funktioniert jetzt soweit,
es ist aber nur der Inhalt der LETZTEN Batch-Datei im Logfile...
ne Ahnung woran das liegen kann?

hat sich erledigt -> hatte keine zwei ">" vor dem logfile...
Bitte warten ..
Mitglied: Biber
01.09.2006 um 12:36 Uhr
Hast Du auch zwei Größer-Zeichen an das Ende der Zeile angehängt?

Bei mir tut es.
01.
(=12:32:54  F:\=) 
02.
>for %x in (f:\g0*.bat) do @for /f "tokens=3" %i in (%x) do @for /f "tokens=1-2 delims=\" %a in ("%i") do @echo %~nx;%a;%b>>log.txt 
03.
 
04.
(=12:33:18  F:\=) 
05.
>type log.txt 
06.
G0111c222;g011sprt01;VS_T612 
07.
G0111c222;g011sprt01;VS_T630 
08.
G0111c333;g011sprt01;VS_T613 
09.
G0111c333;g011sprt01;VS_T635
Bitte warten ..
Mitglied: Forencamper
01.09.2006 um 12:41 Uhr
kannst du jetzt noch die /c und /cd mit auslesen in ein Feld,
dass ich weiß welches der Standarddrucker ist?
(hintergrund ist eine Migration unseres Druckservers, un davor würd ich gerne wissen wer wo druckt un welcher Drucker standard ist

thx!
Bitte warten ..
Mitglied: Biber
01.09.2006 um 13:04 Uhr
01.
>for %x in (x:\pfad\g0*.bat) do @for /f "tokens=2,3" %i in (%x) do @for /f "tokens=1-2 delims=\" %a in ("%j") do @echo %~nx;%a;%b;%i
==>
G0111c222;g011sprt01;VS_T612;/c
G0111c222;g011sprt01;VS_T630;/cd

Als Batch-Skizze:
01.
::---ReadPrinterCnf.bat 
02.
for %%x in (x:\pfad\g0*.bat) do @( 
03.
     for /f "tokens=2,3" %%i in (%%x) do @( 
04.
            for /f "tokens=1-2 delims=\" %a in ("%%j") do @echo %%~nx;%%a;%%b;%%i 
05.
))
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...