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, 9632 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 ..
Ähnliche Inhalte
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

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 Zeiten in .txt datei auslesen und Differenz berechnen (14)

Frage von meex87 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...