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: 29.09.2021 um 01:09 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
general
Frage an die IT-Administratoren in Unternehmen gelöst Fuchor2020Vor 1 TagAllgemeinOff Topic13 Kommentare

Hallo Leute, freue mich hier im Forum dabei sein zu dürfen. Da ich noch relativ neu in der IT Branche bin, befasse ich mich aktuell ...

question
BIOS-Passwort beim Neustart umgehenFreeBSDVor 1 TagFrageEntwicklung14 Kommentare

Hallo zusammen, ich bin gerade auf der Suche nach einer Lösung für folgendes Problem und zwar haben wir in der Firma mehrere Notebooks im Einsatz ...

general
Apache2 Update führt bei Webservern mit Ubuntu 18+20 und Pleask zu einem Fehler 500 mit AH10292 für jede WebseiteStefanKittelVor 16 StundenAllgemeinApache Server

Moin, vieleicht hattet Ihr heute Morgen auch schon einen Schrecken. Ich hatte ganz viele Ausfallmeldungen für Webseiten mit Fehler 500. Im Errorlog steht dann der ...

question
Merkwürdige Meldung im iPhone Safari BrowsermartenkVor 1 TagFrageiOS9 Kommentare

Hallo Gemeinschaft ich bekomme seit kurzem dieses Bild in Safari: Was bedeutet es? ...

question
Fileserverstruktur mit wenig administrativen Aufwandben1300Vor 1 TagFrageWindows Userverwaltung11 Kommentare

Mahlzeit ! aktuell haben wir im Netzwerk einen sehr durchwachsenen Fileserver, welchen ich damals so übernommen habe und mir mittlerweile zu viel wird, bezüglich administrative ...

question
Datenübertragungsrate berechnungLeuis.DavidVor 1 TagFrageHardware18 Kommentare

Die Performance eines Servers entspricht nicht mehr Ihren Erwartungen. Sie führen einen Benchmark-Test durch. Dabei wird für die Systemfestplatte (Serial ATA 6.0 Gbit/s) eine durchschnittliche ...

question
Deutsche Glasfaser immer noch IPv6 ProblemefnbaluVor 1 TagFrageRouter & Routing20 Kommentare

Hallo zusammen, bei uns hat die Deutsche Glasfaser ganz frisch mitte 2021 ausgebaut und ich habe nun deren CG-Nat Leitung mit 400 Mbit, was gegenüber ...

question
Welche Ports öffnen für web.de OnlinespeicherWinfried-HHVor 1 TagFrageCloud-Dienste11 Kommentare

Hallo in die Runde! Hat jemand von euch Erfahrung mit dem Online-Speicher von web.de? Genaugenommen mit dem Windows-Sychronierungsprogramm von web.de? Seit unser Schulträger uns eine ...