Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Background Switcher - BATCH

Mitglied: DerRegistrar

Hilfe zur Programmierung erwünscht.

Hallo Leute!

vielen Dank für dieses tolle Forum!!

Mein Problem...

Hintergrund:
Ich bin schon wieder einige Stunden damit beschäftigt, den Laptop meiner werten Mutti etwas mehr zu automatisieren.
Um meine Idee umsetzen zu können, benötige ich die Funktion, per Batch den Hintergrund zu wechseln, dafür erschließen sich mehrere Möglichkeiten.

Einfach Programm aus dem Internet nutzen? - Will ich nicht! - Warum:
Dies lässt sich mit zwar mit externen Programmen realisieren, jedoch fehlt mir darin einfach die Transparenz, da solche Programme nicht OpenSource sind und ich mich bzw. meine Mutti 1. Performancemässig im Nachteil sehe, außerdem 2. Die Sicherheit fehlt, dass das Programm keinen Quatsch anstellt (Ala unnötige Registry-/Dll-/Treiber-Einträge o. ä.). - Das System soll ABSOLUT SAUBER vor solchem Quatsch bleiben, deswegen kommen auch nur die nötigsten und sinnvollsten Programme auf diesen Rechner.
Ich bitte diesbezüglich keine Diskussion anzufangen, ich möchte schließlich einen Lösungsweg zu meinem Problem der Realisierung dieser Idee (Das selbstständige Programmieren/Scripten einer solchen Dienstleistung) und nicht des (nichtvorhandenen Problemes) der "Nicht-Einsicht" bzw. der Nichtakzeptierung fremder Software. - Sofern das jemand annehmen sollte. - Ich möchte nicht diskutieren wie sinnvoll es ist, denn das ist es für mich.
- Gebe ich nur deswegen an, da in vielen Foren diskutiert wird warum und wie sehr man etwas möchte -

Meine Realisierungsidee:
Ich wollte das ganze nun per BATCH-Script realisieren, konnte schon einen Lösungsweg erarbeiten:
Bei einem Neustart war dann einfach ein anderer Hintergrund zu sehen ;) - Das Script lief beim Autostart durch.

--- Alter (funktionsfähiger) Code:

Leider ist dieser Lösungsweg nicht optimal, da ich das Gefühl habe, das Script wähle die Bildschirmhintergründe zu "unzufällig" und zu häufig wiederholend die selben Hintergrundbilder aus.

Was das aktuelle Script konkret tun soll:
1. Anstatt einem Registry Eintrag, ersetzt es die als Hintergrundgrafik gesetzte .jpg Datei, indem es als solche benannt in das entsprechende Verzeichnis kopiert wird. - Soweit kein Problem
2. Nun soll die gerade ausgewählte Grafik in einen anderen Ordner verschoben werden, damit diese bei den nächsten Starts nicht wieder ausgewählt werden kann. - Soweit kein Problem
3. Jetzt aber, soll wenn ALLE Hintergrundbilder in den neuen Ordner verschoben wurden, sprich wenn der Wallpaper-Pool leer ist, alle Wallpaper wieder in den Pool verschoben werden. - Das ist das Problem. [EDIT: AKTUALISIERT] Wo und wie mache ich das? Meine Versuche haben nicht geklappt, habe sie deshalb aus dem Code gelöscht.

---Der Code dazu lautet:

[/EDIT]

Wie Ihr sicher schon herausgelesen habt - besonders viel Erfahrung in VBS oder BATCH habe ich nicht, dennoch gebe ich mir alle Mühe.
Das einzige was ich relativ gut kenne ist LSL (Linden Scripting Language) und HTML.

Wie also könnte ich es noch realisieren?
Kann ich etwas besser machen (Fehler)?
Konstruktive Kritik oder Verbesserungsvorschläge sind herzlichst erwünscht.

Mit lieben Gruß
Der Registrar

Content-Key: 159503

Url: https://administrator.de/contentid/159503

Ausgedruckt am: 16.10.2021 um 19:10 Uhr

Mitglied: 60730
60730 26.01.2011 um 18:11:48 Uhr
Goto Top
Salü,

kleine Gegenfrage - wieviele Bilder sind denn in dem Ordner?

Gruß
Mitglied: DerRegistrar
DerRegistrar 26.01.2011 um 18:13:55 Uhr
Goto Top
Hi Timo!!!

Ich habe mal durchzählen lassen, ingesamt sind derzeit 173 Wallpaper vorhanden. ( Nur die besten :-) face-smile )

LG

[EDIT: HINWEIS] Achtung, ich habe den Beitrag aktualisiert [/EDIT]
Mitglied: 60730
60730 26.01.2011 um 19:53:09 Uhr
Goto Top
Servus,
ungetestet und außer einer Variablen nur eine Abfrage gezimmert, die sicherstellt, dass die Badewanne der Pool wieder gefüllt wird.


Bei 173 Dateien wirds mit dem Zufall halt sehr Zufällig, daher ist das mit derm Verschieben eine passable Idee.

Gruß
Mitglied: bastla
bastla 26.01.2011 um 20:20:47 Uhr
Goto Top
... und noch etwas eingedampft (sowie getestet ;-) face-wink):
Grüße
bastla

P.S.: Beim verwendeten BS handelt es sich wohl um Vista - 7 bräuchte ja noch nicht mal diesen Batch (siehe etwa hier) ...
Mitglied: DerRegistrar
DerRegistrar 26.01.2011 um 20:28:36 Uhr
Goto Top
Na Servus! (Auch Bayer?! :-D face-big-smile)

Ich hab deinen Code getestet und die Variable Pool in WPC (Wallpaperchange) umbenannt. (Was aber nicht das Problem sein sollte).
Leider wird, sobald schon der letzte Wallpaper aus dem WallpapersPool\ Ordner verschwindet, keine erwartete Aktion durchgeführt.
Die Bilder werden auch nicht wieder zurückkopiert.

Die ECHO-AUSGABE: (SOBALD WallpapersPool\ leer ist)



Der Code dazu:

Mitglied: DerRegistrar
DerRegistrar 26.01.2011 um 20:48:16 Uhr
Goto Top
Hi Bastla!!

Richtig, es handelt sich um Windows Vista 32-Bit.
Mit deinem Code funktioniert es übrigens PERFEKT!

Ich bin unglaublich angetan davon, was mach mit einem simplen Batch anstellen kann... wozu diese ganzen lästigen Programme aus dem Internet, die den PC unnötig verlangsamen....

Aber eins ist mir klar geworden: KOMPLIZIERT!!!

Vielen Dank für Eure Hilfe!!!!!!

LG
Mitglied: DerRegistrar
DerRegistrar 26.01.2011 um 20:50:54 Uhr
Goto Top
Mein Finaler Code:

Mitglied: bastla
bastla 26.01.2011 um 21:11:34 Uhr
Goto Top
Hallo DerRegistrar, und ein nachträgliches Willkommen im Forum!
KOMPLIZIERT!!!
kann sich ja eigentlich nur auf diese Zeile beziehen (den Rest hattest Du ja bereits in ähnlicher Form):
Damit's vielleicht etwas verständlicher wird:
- falls Du an der Kommandozeile testen willst:
- listet alle *.jpg-Dateien auf, nummeriert diese (es wird nach "^" = Zeilenanfang gesucht, und den hat jede Zeile, womit also alle Dateien erfasst werden) und danach jene Zeile = Datei ermittelt, deren Nummer mit der vorher festgelegten %Number% übereinstimmt.

Da letztlich nur der Dateiname, nicht aber auch die laufende Nummer benötigt wird, erfolgt eine Unterteilung der Zeile (per "for /f") anhand des auf die Nummer folgenden Doppelpunktes: der Teil davor wird %%g, der Teil danach %%h - and that's all ...

Grüße
bastla
Mitglied: Biber
Biber 26.01.2011 um 21:16:35 Uhr
Goto Top
Moin Registrar,

willkommen im Forum.

Ich bin sehr angetan von deiner Art des Fragestellens und der Sorgfalt und Mühe, die du dir gibst.
Natürlich ebenso angetan von den hochkarätigen Antworten und der schnellen Lösung.

Deshalb habe ich auch mal -was nicht jede Woche vorkommt- einen "Anspruchsvoll-Smiley" für angemessen erhalten.

Danke für diesen Beitrag an alle.

Grüße
Biber
P.S. Dein "finaler Code" ist doch eigentlich erhaltenswert und wiederverwendbar ....
...vielleicht solltest du noch ein paar Kommentarzeilen einfügen, falls deine Mutti da mal reinguckt.
Das nackte und unkommentierte Endergebnis dieser Diskussion wirst vermutlich auch du in 3 Monaten nicht mehr auf Anhieb nachvollziehen können.
P.P.S. Die eine oder andere Kommentierung könnte jetzt von bastlas zeitgleichem wieder mal schnelleren Kommentar 26.01.2011, 21:11:34 Uhr übernommen werden ;-) face-wink
Heiß diskutierte Beiträge
question
Achtung VMware, Inc. - SCSIAdapter - 1.3.18.0 virtuelle Server starten nicht mehrBl0ckS1z3Vor 1 TagFrageWindows Server5 Kommentare

Hallo Admins, ich habe heute über das VMware, Inc. - SCSIAdapter - 1.3.18.0 Treiberupdate aus den Windows Updates auf einem virtuellen Server Windows 2012 R2 ...

question
WIN 10 pro for workstations - Was genau ist das?toddehbVor 1 TagFrageWindows 1017 Kommentare

Hi, bin das erste mal über einen PC mit Win 10 Pro for workstations gestolpert und frage mich, was an dieser Edition anders ist, als ...

report
Ist FSLogix das Gelbe vom Ei?dertowaVor 1 TagErfahrungsberichtWindows Userverwaltung9 Kommentare

Hallo allerseits, ich habe mich die letzten Tage eingehend mit FSLogix in meinem Lab befasst und bin noch ein wenig zweigeteilter Meinung. Aktuell produktiv im ...

question
Hotel - Gast WLAN - Hotspot Aufbau und Sicherheit-Haftungaif-getVor 1 TagFrageLAN, WAN, Wireless12 Kommentare

Hallo zusammen, ich würde gerne bei einem Bekannten, der ein kleines Hotel (30 Zimmer - 3 Unify APs) besitzt ein Gäste WLAN aufsetzen, möglichst mit ...

question
VOIP BasisstationWolf6660Vor 1 TagFragePeripheriegeräte18 Kommentare

Hi, ich will meine FritzBox gegen einen MikroTik RB4011iGS+5HacQ2HnD-IN austauschen. Nun benötige ich aber einen VOIP Basisstation. Natürlich könnte ich meine 7590 dazu benutzten aber ...

question
Portbasierten vLans als Ersatz von unabhängigen Switches gelöst cheechybaVor 1 TagFrageNetzwerkmanagement10 Kommentare

Guten Tag liebe Community, im Anhang habe ich eine einfach Skizze angefügt um folgende Idee zu diskutieren und um Hilfe bei der Umsetzung zu bitten. ...

question
CAD Mobil in rauer Umgebunggansa28Vor 1 TagFrageHardware4 Kommentare

Hallo zusammen, Zu meinem Problem: Mein Schwieger Vater bekommt in seinem Metall Produzierenden Gewerbe zwei neue CAD Arbeitsplätze die eine recht hohe Hardware Anforderung haben, ...

general
Automatische Dokumentation von Vorgängen mit Kamerapassy951Vor 1 TagAllgemeinSonstige Systeme6 Kommentare

Hallo zusammen, ich wende mich mal an euch, da ich nicht weiß wie ich das lösen soll bzw. ob es sowas überhaupt zu kaufen gibt. ...