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

Anzahl Variablen erkennen und automatisch in Schleife verarbeiten

Mitglied: crazyhoesl

crazyhoesl (Level 1) - Jetzt verbinden

18.10.2007, aktualisiert 21.11.2007, 3771 Aufrufe, 4 Kommentare

Hallo,

ich habe in meiner Batches oft folgenden Wunsch:

Um es gleich leichter verständlich zu machen verdeutliche ich mein Anliegen anhand eines Beispieles:

Ich bestimme z.B. folgende vier Variablen zu Beginn meiner Batch:

01.
set backupdir=%Systemdrive%\Backups 
02.
set progdir=%Systemdrive%\Progs 
03.
set docsdir=%Systemdrive%\User\Docs 
04.
set imgdir=%homepath%\Images
Im weiteren Verlauf möchte ich damit folgendes anstellen:

01.
xcopy /Y %backupdir%\*.* F:\ 
02.
xcopy /Y %progdir%\*.* F:\ 
03.
xcopy /Y %docsdir%\*.* F:\ 
04.
xcopy /Y %imgdir%\*.* F:\
Jetzt ist das erstens ziemlich viel schreibarbeit, und zweitens macht sich bei mir öfters der Wunsch breit, eine Variable hinzuzufügen, leider muss ich dann im weiteren Code auch einen XCOPY Befehl hinzufügen.

Ist das nicht irgendwie einfacher lösbar? Ich denke da an eine Schleife, die z.B. erkennt wieviele Variablen festgelegt wurden, und dann - in diesem Beispiel eben vier mal - durchläuft und bei jedem Durchlauf die nächste Variable verwendet. Somit benötige ich nur eine XCOPY Zeile, was nicht zuletzt der Übersichtlichkeit des Quellcodes dient.

Sollte das wirklich möglich sein, stehe ich vor einem weiterem Problem: Ich möchte natürlich mehr als nur vier Variablen definieren, aber nur vier für die Schleife verwenden müssen.

Bin für eure konstruktiven Vorschläge offen!

Euer
crazyhoesl
Mitglied: Biber
18.10.2007 um 23:59 Uhr
Moin crazyhoesl,

ich versteh das Problem nicht ganz... es steht dir doch frei, deine Variablen irgendwo als Verarbeitungsliste einer FOR-Anweisung zu verwenden.

Vielleicht hilft folgendes Beispiel am CMD-Prompt:
01.
(=23:52:29  D:\temp=) 
02.
>set "YED=Y:\Eigene Dateien" 
03.
 
04.
(=23:52:56  D:\temp=) 
05.
>set "dworkdir=D:\Work" 
06.
 
07.
(=23:53:04  D:\temp=) 
08.
>for  %i in ("%YED%" "%dworkdir%") do @echo xcopy "%~i\*.*" f:\archiv\ 
09.
xcopy "Y:\Eigene Dateien\*.*" f:\archiv\ 
10.
xcopy "D:\Work\*.*" f:\archiv\
Im Bereich "Batch und Shell" steht auch ein Tutorial aus der "Batch for Runaways"-Reihe, in dem beschrieben wird, wie bestimmte Variablen zu Debugzwecken "verfolgt", gesetzt, gelöscht.... na ja, halt selektiv auch in Schleifen verwendet werden können.
Schau mal in BatchTut I und II ("FindLongPath" und "Ein bisschen Handwerkszeugs").

Gruß
Biber
Bitte warten ..
Mitglied: bastla
19.10.2007 um 00:18 Uhr
... es steht dir doch frei, deine Variablen irgendwo als Verarbeitungsliste einer FOR-Anweisung zu verwenden.
... oder gleich ganz darauf zu verzichten (womit Du Ergänzungen nur an einer einzigen Stelle vornehmen müsstest):
01.
for %%i in ("%Systemdrive%\Backups" "%Systemdrive%\Progs" "%Systemdrive%\User\Docs" "%homepath%\Images") do echo xcopy /Y "%%~i\*.*" F:\
Anmerkungen: Das "echo" dient nur zu Demozwecken und ist im "Ernstfall" natürlich wegzulassen. Außerdem ist Biber's Variante für die Kommandozeile formuliert (%i) und meine Version für Batch (%%i) gedacht.
Eine weitere Möglichkeit wäre natürlich, die einzelnen Pfade (jeden in einer eigenen Zeile) in einer Textdatei zu hinterlegen und diese auszulesen:
01.
for /f "delims=" %%i in (D:\Pfadliste.txt) do echo xcopy /Y "%%~i\*.*" F:\
Grüße
bastla
Bitte warten ..
Mitglied: Biber
19.11.2007 um 09:41 Uhr
Moin kratzihoesl,
Bin für eure konstruktiven Vorschläge offen!
Heute vor einem einem Monat haben wir konstruktiv geantwortet.
Gibst Du mal konstruktives Feedback?

Danke
Biber
Bitte warten ..
Mitglied: Biber
21.11.2007 um 08:38 Uhr
Hm,

das werte ich mal Antwort und nehme es zum Anlass, diesen Beitrag zu schließen.

@kratzi: Bin aber natürlich per PN erreichbar, falls der Beitrag wieder geöffnet werden soll.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Aufgaben zusammenfassen und mittels Schleife verarbeiten

Frage von an-weiBatch & Shell3 Kommentare

Hallo zusammen, ich habe ein PowerShell Script erstellt, welches mittels robocopy Dateien überprüft und diese dann in diverse Ordner ...

VB for Applications

Anzahl der Schleifen aus Kombinatsionsfeld übernehmen

gelöst Frage von Pilger83VB for Applications2 Kommentare

Hallo zusamman, hoffe ihr könnt mir helfen, ich habe 30 Textfelder und ein Kombinatsionsfeld (sucht zahlen aus einer Tabelle ...

Batch & Shell

Weitergabe von Variablen in for-Schleifen

Frage von MFJustBatch & Shell1 Kommentar

Hallo, Ich versuche HTML Dateien in PDFs umzuwandeln (dies funktioniert) und diese dabei nach Teilen dieser HTML Datei umzubenennen ...

Batch & Shell

Batch Variablen in for-Schleife

gelöst Frage von Dacki1107Batch & Shell2 Kommentare

Hallo Liebe Administratoren Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt. Ich versuche eine ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 TagenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 3 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 3 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement19 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android13 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...

Router & Routing
VPN hinter zweiter Fritzbox nutzen im Nachbarhaus
gelöst Frage von georg2204Router & Routing11 Kommentare

Hallo zusammen, ich blicke hier leider nicht mehr so ganz durch. In Haus 1 steht eine Fritzbox 7390, diese ...