Top-Themen

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

gelöst Befehl wiederholen, mit neuen Variablen

Mitglied: svatvn

svatvn (Level 1) - Jetzt verbinden

08.09.2011, aktualisiert 00:16 Uhr, 3838 Aufrufe, 9 Kommentare

-

Hi all,
ich bin neu hier und möchte erstmal allen hier ein herzliches Hallo sagen. Durch Google bin ich ständig auf dieses Forum gestoßen und konnte bisher immer antworten durch vorhandene
Thread finden. Leider fand ich zu dem jetzigen Problem keine Antwort, weshalb ich mich dazu entschied, mich hier anzumelden. Ich hoffe, dass ihr auch zu diesem Problem eine Antwort parat habt

Ich möchte gerne einen Befehl ausführen,
01.
set var=klaus 
02.
echo hallo %var%
es kommt also ein hallo Klaus raus
soweit sogut,

nun möchte ich, dass der Befehl wiederholt wird, und zwar jedes mal mit einer neuen Variable, aus einer Liste, bis alles abgearbeitet ist.

Das ganze sieht momentan so aus:

01.
set var=Klaus 
02.
set var=Heinz 
03.
set var=Paul 
04.
set var=Ulf 
05.
echo hallo %var%
Momentan, wird der Befehl echo nur einmal ausgeführt, und zwar mit der Variable Klaus.
es wird also nur "hallo Klaus" ausgegeben
Ich möchte aber, dass er den Befehl auch mit der Variable Heinz, Paul und Ulf durchläuft.
also:
hallo Klaus
hallo Heinz
hallo Paul
hallo Ulf


Ich könnte es auch so machen:

01.
set var=Klaus 
02.
echo hallo %var% 
03.
 
04.
set var=Heinz 
05.
echo hallo %var% 
06.
 
07.
set var=Paul 
08.
echo hallo %var% 
09.
 
10.
set var=Ulf 
11.
echo hallo %var%
nur ist dies etwas überladen, weil jedes mal ein "echo hallo %var%" unter der neuen Variable stehen muss.

Die Variable var muss var bleiben und darf nicht var1, var2, var3 werden. Ich möchte später also einfach weitere werte für diese selbe Variable eingeben können, die Liste also fortzsetzen mit var=Hans, var=Jörg...usw.

Kann man es kompakter Programmieren?
Mitglied: 99045
08.09.2011 um 00:47 Uhr
Hallo, und willkommen im Forum.

Momentan, wird der Befehl echo nur einmal ausgeführt, und zwar mit der Variable Klaus.
Das glaube ich dir nicht: Er wird sicherlich Hallo Ulf ausgeben, denn das ist der letzte Wert, mit dem du var gesetzt hast.

Kann man es kompakter Programmieren?

Ja, könnte man:
for %%a in (Klaus Heinz Paul Ulf) do @echo Hallo %%a
Gruß
Bitte warten ..
Mitglied: svatvn
08.09.2011 um 01:58 Uhr
hallo Kaputtnick,
deine Lösung missachtet aber die vorgegebenen Variablen, die ich ja unbedingt brauche.
Meine Absicht war es, dass die Schleife quasi sich die Variablen "abholt" und für jede einzelne Variable den Befehl ausführt, bis alle Variablen durch sind. An den Befehl soll an sich nichts mehr verändert werden

Wen es interessiert, kann sich mein kompliziertes Vorhaben genauer anschauen:
ich will per Batch, die Dateizuordnung ändern
01.
set fi=jpg 
02.
set na=PhotoViewer 
03.
set pa=C:\Programme\PhotoViewer\PhotoViewer.exe 
04.
 
05.
 
06.
rem ##;FILE TYPE 
07.
REG ADD "HKEY_CLASSES_ROOT\.%fi%" /v "" /t REG_SZ /d "%fi%-file" /f 
08.
rem ##;OPEN DEFAULT 
09.
REG ADD "HKEY_CLASSES_ROOT\%fi%-file\Shell\open\command" /v "" /t REG_EXPAND_SZ /d "\"%pa%\" \"%%1\"" /f
der erste Teil besteht aus einem Variablen-Block, der später bei Bedarf ergänzt werden soll. Der zweite Teil ist fix und daran soll auch nichts mehr geändert werden
Nun möchte ich gerne in Zukunft weitere Variablen-Blöcke ergänzen können

01.
set fi=jpg 
02.
set na=PhotoViewer 
03.
set pa=C:\Programme\PhotoViewer\PhotoViewer.exe 
04.
 
05.
set fi=avi 
06.
set na=VideoViewer 
07.
set pa=C:\Programme\VideoViewer\videoViewer.exe 
08.
 
09.
set fi=mp3 
10.
set na=AudioViewer 
11.
set pa=C:\Programme\AudioViewer\AudioViewer.exe 
12.
 
13.
 
14.
rem ##;FILE TYPE 
15.
REG ADD "HKEY_CLASSES_ROOT\.%fi%" /v "" /t REG_SZ /d "%fi%-file" /f 
16.
rem ##;OPEN DEFAULT 
17.
REG ADD "HKEY_CLASSES_ROOT\%fi%-file\Shell\open\command" /v "" /t REG_EXPAND_SZ /d "\"%pa%\" \"%%1\"" /f
Die Befehle sollen einmal für die jpg, avi, mp3 durchlaufen. So wie es gerade da steht momentan, läuft es nur für mp3 durch....
Alles was ich später hinzufügen will, sind neue, weitere Variablen-Blöcke....also,..mp4, gif...
wie zum beispiel dieser Block

set fi=wma
set na=AudioViewer
set pa=C:\Programme\AudioViewer\AudioViewer.exe

Der Block soll dem Befehl einfach jedes mal neu "befuttern" mit neuen Informationen.
usw...

Hoffe das ist verständlich
Bitte warten ..
Mitglied: 99045
08.09.2011 um 02:16 Uhr
Man kann aber den gleichen Variablennamen nicht mehrfach mit unterschiedlichen Werten verwenden, ohne dass der vorherige Wert überschrieben wird, also futsch ist.

Du kannst dir die Werte, die du zum Füllen verwenden willst, z. B. in eine Textdatei schreiben und mit einer Schleife abholen, dann kannst du die Variablen neu zuordnen und verwenden.

Eine Alternative und einfacher ist es, für den Reg-Teil ein Unterprogramm über eine Sprungmarke zu verwenden, also nach den Zuweisungen jeweils ein call :wasweissich aufzurufen´, bei deinem Beispiel also nach den Zeilen 3, 7 und 11. Und in der nachfolgenden Zeile rufst du Zeile 13 auf und setzt dort eine passende Sprungmarke.

Ich gehe jetzt erst mal an der Matratze horchen.
Gute Nacht.
Bitte warten ..
Mitglied: svatvn
08.09.2011 um 02:32 Uhr
hey wow,
ein Super Tipp mit den Sprungmarken. Klasse. So ähnlich hatte ich es mir vorgestellt.

Aber wie geht es dann weiter?

01.
set fi=jpg 
02.
set na=PhotoViewer 
03.
set pa=C:\Programme\PhotoViewer\PhotoViewer.exe 
04.
call :Hauptbefehl 
05.
 
06.
set fi=avi 
07.
set na=VideoViewer 
08.
set pa=C:\Programme\VideoViewer\videoViewer.exe 
09.
call :Hauptbefehl 
10.
 
11.
set fi=mp3 
12.
set na=AudioViewer 
13.
set pa=C:\Programme\AudioViewer\AudioViewer.exe 
14.
call :Hauptbefehl 
15.
 
16.
:Hauptbefehl 
17.
rem ##;FILE TYPE 
18.
REG ADD "HKEY_CLASSES_ROOT\.%fi%" /v "" /t REG_SZ /d "%fi%-file" /f 
19.
rem ##;OPEN DEFAULT 
20.
REG ADD "HKEY_CLASSES_ROOT\%fi%-file\Shell\open\command" /v "" /t REG_EXPAND_SZ /d "\"%pa%\" \"%%1\"" /f
Wie kann ich ihm sagen, dass der :Hauptbefehl nur verschachtelt aufrufen soll und dann dort weiter macht, wo er stehen geblieben ist?
Denn momentan überspringt er avi und mp3
Bitte warten ..
Mitglied: rubberman
08.09.2011 um 03:41 Uhr
Hallo svatvn.

Nur mal ganz nebenbei...
Hast du schon von den Befehlen ASSOC und FTYPE gehört?

Grüße
rubberman
Bitte warten ..
Mitglied: Skyemugen
08.09.2011 um 07:50 Uhr
Aloha rubberman,

[OT]das wäre doch zu einfach ... lieber schreibt er ein Skript, wo er alles manuell festlegt und so viel durchackern lässt [/OT] ohne überhaupt goto :eof in der Sprungmarke zu verwenden ...

greetz André
Bitte warten ..
Mitglied: 99045
08.09.2011 um 11:03 Uhr
Hi,

Zitat von svatvn:
Denn momentan überspringt er avi und mp3

Du musst sowohl eine Zeile 21 mit goto :eof anfügen als auch in Zeile 15 den gleichen Befehl einsetzen.
Bitte warten ..
Mitglied: svatvn
08.09.2011 um 11:55 Uhr
hallo Leute,
mit goto: eof hats super geklappt, vielen Dank an Kaputtnik und andere
assoc und ftype werde ich mir jetzt genauer anschauen. Auch ein super Tipp

@Skyemugen
ich bin kein gelernter Programmierer, berufsmäßig habe ich überhaupt nichts mit Programmierung zun, von daher finde ich deine herablassende Bemerkung nicht ganz fair.
Trotzdem danke,
Bitte warten ..
Mitglied: Skyemugen
09.09.2011 um 07:46 Uhr
Aloha,

von daher finde ich deine herablassende Bemerkung nicht ganz fair.

Nun, um die Forensuche zu nutzen oder einfach mal zwei, drei Threads im B-Bereich hier anzuschauen, muss man kein

gelernter Programmierer

sein

greetz André

P.S.: die genannten Befehle assoc und ftype sind m.M.n. sinnvoller zu gebrauchen als das manuelle Rumschreiben in der Registry (und Hilfe gibt es zu jedem Befehl per Befehl /?)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell-Befehl in Variable umleiten
gelöst Frage von CoreknabeBatch & Shell5 Kommentare

Moin, ich möchte unseren Exchange mit einem Powershell-Skript konfigurieren. Die Ausgabe eines Befehls soll in einem Windows-Fenster mit OK-Button ...

Windows Systemdateien

Variablen benutzung in Befehlen (Powershell)

gelöst Frage von VidcrafterWindows Systemdateien6 Kommentare

Hallo ich will einen Befehl mit einer Variable ausführen. Remove-AppxProvisionedPackage -Online -PackageName $app Dies funktioniert nicht und mir wird ...

Batch & Shell

Befehl in Variable speichern und Ausführen, Befehlsausgaben unterdrücken

gelöst Frage von anmelderBatch & Shell2 Kommentare

Hallo, weil Win PE keinen Timeout Befehl hat suche ich eine Alternative: Versuch 1 funktioniert wie gewünscht. Ich würde ...

C und C++

C sharp generieren jede 10 Sec wiederholen

gelöst Frage von chaos2goC und C++4 Kommentare

Ehm Theama eig C # aber ist nicht vorhanden deshalb in C und C Falls Falsch Bitte um Kopieren ...

Neue Wissensbeiträge
Windows Netzwerk
Windows Admin Center - Sagt was ihr braucht!
Tipp von Juanito vor 16 StundenWindows Netzwerk12 Kommentare

Hallo zusammen, der ein- oder andere hat sicherlich schon vom Windows Admin Center gehört. - Microsoft's neue Adminkonsole welche ...

Verschlüsselung & Zertifikate

Bitlocker-Verschlüsselung und -Monitoring ohne MBAM

Tipp von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate

Der Folgende Tipp beschreibt, wie man ohne MBAM die Verschlüsselung erzwingt und monitort. MBAM ist ein Enterprise-Benefit und somit ...

Netzwerkprotokolle
IPv6 Konfiguration von Site-Site-VPN ohne feste IP
Anleitung von lcer00 vor 1 TagNetzwerkprotokolle1 Kommentar

Hallo zusammen, vor einiger Zeit hatte ich hier eine Frage zu dem Thema gepostet: Da war noch etwas offen. ...

Verschlüsselung & Zertifikate
Nutzung von Bitlocker in virtuellen Maschinen
Tipp von DerWoWusste vor 3 TagenVerschlüsselung & Zertifikate3 Kommentare

Vorbetrachtung: Wen sollte das interessieren? Wer virtuelle Maschinen zum Test auf seiner lokalen Festplatte speichert, wird diese nur selten ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Netzwerkzugriff fällt dauernd aus (win10)
gelöst Frage von fasosoLAN, WAN, Wireless29 Kommentare

Hallo, ich habe einen neuen PC zusammengebaut, der auch soweit funktioniert, bis auf, dass mein Netzwerkzugriff dauernd ausfällt. Mit ...

Viren und Trojaner
Viren zu Testzwecken gesucht
Frage von ElHuttiViren und Trojaner20 Kommentare

Hallo, Ich suche zum rumtrollen auf einem alten PC Viren, die: - Keine Komponenten beschädigen - Keine Auswirkungen auf ...

Voice over IP
Andere Rufnummer bei abgehenden Gesprächen vom All-IP-Anschluß der Telekom anzeigen
Frage von vafk18Voice over IP15 Kommentare

Ich möchte bei abgehenden Gesprächen vom All-IP-Anschluß der Telekom meine Handynummer hinterlegen, damit ich Rückrufe jederzeit empfangen kann. Derzeit ...

Monitoring
Empfehlung für Server-Monitoring gesucht
Frage von LordGurkeMonitoring14 Kommentare

Moin, wir sehen uns momentan ein wenig nach einer Alternative zu unserem jetzigen Server-Monitoring um. Getestet habe ich bisher ...