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

Mehre Batchdatein erstellen aus Excelliste

Frage Entwicklung Batch & Shell

Mitglied: henner

henner (Level 1) - Jetzt verbinden

21.06.2011 um 11:29 Uhr, 2871 Aufrufe, 10 Kommentare

Hallo ich arbeite in einer IT-Abteilung in einem Verlag und bin neu hier Hab auch gleich eine dringende Frage.

Ich soll 150 Batchdateien erstellen für unsere neuen Rechner. Die Batchdatei soll den Wake on Lane befehl ausführen und sieht so aus für unsere alten Rechner

@ECHO OFF
wol.exe XX:XX:XX:XX:XX:XX
ECHO WOL ausgefuehrt!

Der Dateiname ist immer wol-Rechnername.bat

Ich habe eine Excelliste die sieht so aus :

Spalte 1 Spalte 2
Rechnername MAC-Adresse


In der Exceltabelle sind alle Rechner für die ich eine Batchdatei erstellen soll aufgeschlüsselt.


Gibt es eine Möglichkeit aus dieser Exceltabelle automatisch die ganzen Batchdateien für die einzelnen Rechner zu erstellen und gleich mit dem richtigen Dateinamen zuversehen?

Wäre eine Große Hilfe da ich sonst alle per Hand erstellen müsste.


Danke schonmal
Mitglied: Nagus
21.06.2011 um 11:41 Uhr
Moin,
das geht doch auch anders:
1. die excel Liste als Textdatei speichern und am besten vorher noch ein Trennzeichen einführen (Als extra Spalte, bspw ein ; )
2. Über eine For-Schleife alle Mac Adressen ansprechen aus einer Batch-Datei heraus

so in der Art:

01.
for /F "delims=;  tokens=1,2 " %%i  in (Datei.txt) do wol.exe %%j
Gruß
Nagus
Bitte warten ..
Mitglied: bastla
21.06.2011 um 11:49 Uhr
... und falls jeder Rechner einzeln angesprochen werden soll, etwa so (ungetestet):
@for /f "tokens=2 delims=;" %%i in ('findstr /i %1 "D:\Datei.txt"') do @(wol %%i && echo WOL %~1 ausgeführt)
Aufzurufen wäre der Batch (zB "Wecke.cmd") dann mit Übergabe des Rechnernamens als Parameter, also etwa:
Wecke Rechner57
Falls aber tatsächlich jeweils eine Batch-Datei entstehen soll, dann etwa (weiterhin ungetestet ):
01.
@echo off & setlocal 
02.
for /f "usebackq tokens=1-2 delims=;" %%i in ("D:\Datei.txt") do ( 
03.
    echo @echo off 
04.
    echo wol %%j 
05.
    echo WOL ausgeführt 
06.
)>D:\wol-%%i.cmd
Grüße
bastla

[Edit] @Friemler: Woher soll ich wissen, ob Zeile 6 funktioniert - ist ja "ungetestet" ... [/Edit]

[Edit2] ... aber ich gehe davon aus, dass das Ergebnis (bis auf den Umlaut) zufriedenstellend sein wird. [/Edit2]
Bitte warten ..
Mitglied: Friemler
21.06.2011 um 11:54 Uhr
Hallo henner,

die Exceltabelle als CSV speichern, die Variablen InputFile und OutputPath im folgenden Script anpassen und starten.

01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
 
06.
set "InputFile=X:\Rechner.csv" 
07.
set "OutputPath=X:\WOL-Scripte" 
08.
 
09.
for /f "usebackq delims=; tokens=1,2" %%a in ("%InputFile%") do ( 
10.
  > "%OutputPath%\%%a.cmd" echo @echo off 
11.
  >>"%OutputPath%\%%a.cmd" echo wol.exe %%b 
12.
  >>"%OutputPath%\%%a.cmd" echo echo WOL ausgefuehrt! 
13.
)
Gruß
Friemler


[EDIT]
Zu langsam.

@bastla: Und Zeile 6 funktioniert?
[/EDIT]


[EDIT2]
@Friemler: Woher soll ich wissen, ob Zeile 6 funktioniert - ist ja "ungetestet" ...
Schelm!
[/EDIT2]
Bitte warten ..
Mitglied: henner
21.06.2011 um 12:24 Uhr
Vielen Dank an alle für die Antworten. Hab die Lösung von Friemler getestet und hat Super geklappt

Herzlichen Dank
Bitte warten ..
Mitglied: pieh-ejdsch
21.06.2011 um 13:19 Uhr
Moin;

Zitat von Friemler:
@bastla: Und Zeile 6 funktioniert?
Zitat von bastla:
[Edit] @Friemler: Woher soll ich wissen, ob Zeile 6 funktioniert - ist ja "ungetestet" ... [/Edit]
Schelm!
[Edit2] ... aber ich gehe davon aus, dass das Ergebnis (bis auf den Umlaut) zufriedenstellend sein wird. [/Edit2]

hehehe
kann man das auch als EDIT des Monats Bezeichnen (oder Top ten EDIT)?

@Friemler die Schliessende Klammer ist ja nur die Zusammenfassung ZU einer Befehlszeile.
Wenn hinter der Klammer noch was angefügt wird gilt das ja auch für diese BefehlsZeile.
Kannst es ja auch so schreiben ungefähr
01.
for /f "usebackq tokens=1-2 delims=;" %i in ("D:\Datei.txt") do 4>D:\wol-%i.cmd (echo @echo off&::...weiter&rem ende)>&4
Gruß Phil
Bitte warten ..
Mitglied: Friemler
21.06.2011 um 13:56 Uhr
Moin Phil,

ja, ist mir dann auch aufgefallen. Mich hat halt erstmal die Laufvariable außerhalb der Klammer irritiert. Auf jeden Fall war's amüsant.

Gruß
Friemler
Bitte warten ..
Mitglied: bastla
21.06.2011 um 14:27 Uhr
Hallo Friemler & PH!

Dass wir's an einem Dienstag noch mal so lustig haben würden ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
21.06.2011 um 14:34 Uhr
Aloha bastla,

ich dachte Dienstags gilt einfach nur set /a Montag+=1

also ändert sich der Tag ja nicht

greetz André
Bitte warten ..
Mitglied: bastla
21.06.2011 um 14:37 Uhr
Hallo Skyemugen!

Lass besser Biber diesen Ansatz nicht sehen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.06.2011 um 19:39 Uhr
Moin bastla,

Zitat von bastla:
Lass besser Biber diesen Ansatz nicht sehen ...
Keine Angst, ich bekomme ja nicht alles mit...

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(5)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (16)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Vmware
ESXI Template erstellen (2)

Frage von Phill93 zum Thema Vmware ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...