Jump to content

wegu1

Members
  • Gesamte Inhalte

    4
  • Registriert seit

  • Letzter Besuch

Fortschritt von wegu1

Rookie

Rookie (2/14)

  • Erste Antwort
  • Erster eigener Beitrag

Neueste Abzeichen

0

Reputation in der Community

  1. Hallo Martin @daabm, Ich habe das jetzt getestet. Es funktioniert. Danke nochmals für Deine Hilfe. P.S.: Mangels besserem Wissen, habe ich die If-Abfrage so umgebaut #neues Monats-Hintergrungdild erzeugen - Ausnahme Dezember (Adventkranz mit erleuchteten Kerzen) If (($cm -ne $cmdez)) {$SourceFile = -join($b,$cm,"_",$cj,$d)} #Adventbilder 1-4 If (($cm -eq $cmdez) -and ($edat1 -lt $cd)) {$SourceFile = -join($b,$cm,"_",$cj,$adv1,$d)} If (($cm -eq $cmdez) -and ($cd -gt $edat1) -and ($cd -lt $edat2)) {$SourceFile = -join($b,$cm,"_",$cj,$adv2,$d)} If (($cm -eq $cmdez) -and ($cd -gt $edat2) -and ($cd -lt $edat3)) {$SourceFile = -join($b,$cm,"_",$cj,$adv3,$d)} If (($cm -eq $cmdez) -and ($cd -gt $edat3) -and ($cd -lt $edat4)) {$SourceFile = -join($b,$cm,"_",$cj,$adv4,$d)}
  2. Hallo Martin @daabm, Danke dafür, dass Du Dich meines - eigentlich unwichtigen - Problems annimmst. Mir macht es Spaß auch nach 30 Jahren in der IT noch neues zu lernen. Ich werde mit Deinen Ansätzen ein bisschen experimentieren. Deine "Nebensächlichkeit" finde ich äußerst wichtig. Ich koche und esse auch gern. Schönen Abend Günter
  3. Hallo Martin @daabm, Wie schon geschrieben, bin ich auf diesem Gebiet absoluter Neuling. Ich habe vor langer Zeit lediglich xBase-Programme geschrieben. Nun hatte ich einfach Lust, mir die Powershell etwas anzuschauen. Da ich bereits Rentner bin, ist es für mich reine Neugierde wie das mit der Powershell funktioniert. Mir war klar, dass ich mit dem join-Befehl Zeichenketten zusammenfüge. Was mir für dieses Projekt gefehlt hat, war die aktuelle Zeichenkette als Befehl auszuführen. Der Sinn bis zur Zeile 40 ist nur die Zusammenstellung der Zeichenkette für das Kopieren des Monatsbildes bzw. des Wochenbild für den Dezember aus dem Verzeichnis C:\Daten\Kalender\Monatsbilder\, das Speichern im Verzeichnis C:\Daten\Kalender\aktuell.jpg. Ab der Zeile 46 steht der Code für den Wechsel des Desktophintergrunds. Für die aktuelle Woche wird die folgende Zeichenkette zusammengestellt: Copy-Item C:\Daten\Kalender\Monatsbilder\12_2024_3.jpg -Destination C:\Daten\Kalender\aktuell.jpg Wenn ich diese Zeichenkette kopiere und im unteren blauen Fenster einfüge und mit Enter bestätige, wird der Befehl ausgeführt. Man müsste daher, so denke ich, nur diese Zeichenkette in einen ausführbaren Befehl umwandeln. Copy-Item -#wäre der auszuführende Befehl C:\Daten\Kalender\Monatsbilder\12_2024_3.jpg - #ist der Pfad und das für diese Woche ausgewählte Bild -Destination C:\Daten\Kalender\aktuell.jpg - #wäre das Zielverzeichnis und der Name des Bildes. Diesen String habe ich auch in die Variable $f gelegt und wird in der Zeile 65 für den Wechsel des Wallpapers verwendet. Schönen Nachmittag Günter
  4. Hallo Zusammen, Ich bin neu hier. Ich habe versucht, per Powershell-Script den Desktophintergrund - datumsbezogen zu ändern. Meine Kalenderbilder liegen im Verzeichnis "C:\Daten\Kalender\Monatsbilder\" - im jpg-Format. Dort soll nach Monat und Jahr gesucht werden. Im Dezember auch nach Tag, damit die Bilder des Adventkranzes der entsprechenden Woche zugeordnet werden. Das Script funktioniert bis zur Zeile 40. Am Ende des Scripts wird in der richtige Befehl auf dem Bildschirm ausgegeben, aber die Kopie des Bildes nicht in das vorgesehene Verzeichnis kopiert. Wenn ich den Befehl kopiere und manuell ausführe funktioniert das Kopieren. Was mache ich falsch? Für Hilfe wäre ich dankbar. Hier das Script #Hintergrundbild nach Datum tauschen - Powershell 10.12.2024 wegu RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True $a = "Copy-Item" $b = " C:\Daten\Kalender\Monatsbilder\" $c = Get-Date -Format "MM_yyyy" $cm = Get-Date -Format "MM" $cd = Get-Date -Format "dd" #Für Advent 4 Bilder vorbereiten $cmdez = 12 $adv1 = "_1" $adv2 = "_2" $adv3 = "_3" $adv4 = "_4" $edat1 = "7" $edat2 = "14" $edat3 = "21" $edat4 = "25" $d = ".jpg" $e = " -Destination C:\Daten\Kalender\aktuell.jpg" $f = "C:\Daten\Kalender\aktuell.jpg" #Remove-item C:\Daten\Kalender\aktuell.jpg #neues Hintergrungdild erzeugen If (($cm -ne $cmdez)) {-join($a,$b,$c,$d,$e)} #Adventbilder 1-4 If (($cm -eq $cmdez) -and ($edat1 -lt $cd)) {-join($a,$b,$c,$adv1,$d,$e)} If (($cm -eq $cmdez) -and ($cd -gt $edat1) -and ($cd -lt $edat2)) {-join($a,$b,$c,$adv2,$d,$e)} If (($cm -eq $cmdez) -and ($cd -gt $edat2) -and ($cd -lt $edat3)) {-join($a,$b,$c,$adv3,$d,$e)} If (($cm -eq $cmdez) -and ($cd -gt $edat3) -and ($cd -lt $edat4)) {-join($a,$b,$c,$adv4,$d,$e)} #Die Auswahl funktioniert, aber Erstellung der Bildkopie im Ordner C:\Daten\Kalender erfolgt nicht. #Der String der für die Erstellung notwendig ist, wird korrekt im unteren Fenster angezeigt, #kann kopiert und ausgeführt werden. Dann wird der Desktophintergrund gewechselt. #Wechsel des Desktopbilds $code = @' using System.Runtime.InteropServices; namespace Win32{ public class Wallpaper{ [DllImport("user32.dll", CharSet=CharSet.Auto)] static extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ; public static void SetWallpaper(string thePath){ SystemParametersInfo(20,0,thePath,3); } } } '@ add-type $code #Bildhintergrund neu [Win32.Wallpaper]::SetWallpaper($f)
×
×
  • Neu erstellen...