Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Mit Batch alle Dateien im Ordner zu Variable setzen und dann die enthaltenen Befehle mit einer FOR-Schleife ausführen xD

Frage Entwicklung Batch & Shell

Mitglied: bilalui

bilalui (Level 1) - Jetzt verbinden

24.09.2014 um 18:11 Uhr, 1767 Aufrufe, 9 Kommentare, 2 Danke

Hallo zusammen,

mal wieder habe ich ein großes Problem mit einer Batch. Die Batch um die es sich handelt hat den einzigen Auftrag, alle Dateien in einem Ordner zu einer Variable zu setzen und dann den Inhalt mit einer FOR-Schleife auszuführen. (Der Inhalt der Dateien sind Befehle in "BEFEHL Bla Bla") Das ausführen der Befehle ist kein Problem. Blos leider bekomme ich es nicht hin, dass die Batch ALLE DATEIEN IN DEM ORDNER abarbeitet (Es wird immer nur eine abgearbeitet).

Hier die momentanen Zeilen der Batch:

for %%f in ("DATA_COMP\plugins\core"\*.plg) do set plugin==%%f
for %%f in ("DATA_COMP\plugins\core"\%plugin%.plg) do "" %%f

Gibt es irgendwelche Möglichkeiten um das Problem zu lösen? Ich bin flexible und kann mit verschiedenen Lösungswegen immer etwas anfangen.
Hoffe ich habe mein Problem gut genug geschildert :D


LG und schönen Feierabend


Bilalui
Mitglied: bastla
24.09.2014 um 18:21 Uhr
Hallo bilalui!

Welchen Sinn soll denn die Variable %plugin% haben? Du kannst doch direkt %%f verwenden:
for %%f in ("DATA_COMP\plugins\core\*.plg") do "%%f"
Was die Anführungszeichen nach dem "do" sollten, kann ich mir übrigens auch nicht vorstellen ...

Grüße
bastla
Bitte warten ..
Mitglied: bilalui
24.09.2014 um 18:32 Uhr
Hallo bastla,

Da hast du Recht. Es würde auch in einer Zeile gehen. Die Anführungszeichen nach dem DO sind auch überflüssig wie ich gerade festgestellt habe. Allerdings löst das nicht das eigentliche Problem.



Bilalui
Bitte warten ..
Mitglied: bastla
24.09.2014 um 18:36 Uhr
Hallo bilalui!

Worin bestand nochmal das Problem?

Grüße
bastla
Bitte warten ..
Mitglied: bilalui
24.09.2014 um 18:41 Uhr
Hallo Bastla,


Das Problem ist das die Zeile nur eine Datei in dem Ordner verarbeitet. Sie soll aber alle abarbeiten :D
Bitte warten ..
Mitglied: bastla
24.09.2014 um 18:48 Uhr
Hallo bilalui!

Ich weiß ja nicht, womit Deine *.plg-Dateien ausgeführt werden - aber bei einem kurzen Test mit *.txt-Dateien wurden diese alle mit dem verknüpften Programm (Editor) geöffnet ...

Alternativ kannst Du noch
for %%f in ("DATA_COMP\plugins\core\*.plg") do start "" "%%f"
versuchen (ggf auch mit dem Parameter "/wait", falls nacheinander gestartet werden soll).

Wenn Du mehrere andere Batches starten wolltest, käme noch
for %%f in ("DATA_COMP\plugins\core\*.plg") do call "%%f"
in Frage ...

Grüße
bastla
Bitte warten ..
Mitglied: bilalui
24.09.2014 um 19:02 Uhr
Hallo Bastla,

die PLG-Dateien enthalten Batchbefehle in Anführungszeichen und die Batchzeile soll diese Lesen (was sie auch bei mir macht) und ausführen und dann sollte sie gleich die nächste Datei lesen und ausführen.
Die Zeilen die du hast, öffnen zwar alle Dateien im Editor aber nicht in der Batch


Bilalui
Bitte warten ..
Mitglied: bastla
24.09.2014 um 22:02 Uhr
Hallo bilalui!
die PLG-Dateien enthalten Batchbefehle in Anführungszeichen
Und wozu das Ganze? Wäre es nicht einfacher, "richtige" Batches zu schreiben, passend zu benennen (als *.bat oder *.cmd - schlimmstenfalls auch als Kopie Deiner *.plg-Datei, wobei allerdings die Anführungszeichen stören dürften) und sie wie in meinem letzten Ansatz gezeigt auszuführen?

Wenn Du wirklich Zeile für Zeile auslesen und dann ausführen wolltest, müsste das eher so aussehen:
for %%f in ("DATA_COMP\plugins\core\*.plg") do for /f "delims=" %%a in (%%f) do %%~a
Grüße
bastla
Bitte warten ..
Mitglied: rubberman
24.09.2014, aktualisiert um 22:05 Uhr
Hallo Zusammen.

Oder auch
for /f "tokens=1* delims=:" %%i in ('findstr . "DATA_COMP\plugins\core\*.plg"') do ECHO %%~j
Wobei das ECHO erst mal nur ausgibt ...

Grüße
rubberman
Bitte warten ..
Mitglied: bilalui
25.09.2014 um 17:48 Uhr
Hallo,

danke für die schnellen Vorschläge. Ich glaube ich muss die Batch doch umändern so wie Bastla es machen würde. Trotzdem vielen Dank für eure Hilfe.



Bilalui
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
For Schleife in einer .sh Datei (4)

Frage von CrystalFlake zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...