jstar5588
Goto Top

Powershell Script - Frage nach Dateinamen

Hallo Zusammen,

über die Zwischenablage möchte ich gerne Bilder auf kurzem Wege in einer Datei abspeichern.
(Ohne dem Umweg über Copy & Paste in Paint.)
Das Ziel ist es dies über die Powershell erledigen zu lassen.

Der Zweizeiler hierzu lautet wie folgt:

$img = get-clipboard -format image
$img.save("c:\Users\Testuser\Desktop\Fotos\1.jpg")


Im Moment ist es aber so, dass ich händisch immer die 1.jpg in einen spezifischen Dateinamen ändere.
Das birgt natürlich auch das Risiko eines Überschreibens, wenn man das mal vergisst.

Kann man die Zeilen so anpassen dass statt dem vorgegebenen Dateinamen ich eine Abfrage erhalte wie ich die Datei benennen möchte, sodass ich dies dann aktiv eintippen muss und er mir das dann so wie eingetippt abspeichert?

Vielen Dank euch schonmal.

Content-ID: 8110549785

Url: https://administrator.de/forum/powershell-script-frage-nach-dateinamen-8110549785.html

Ausgedruckt am: 22.12.2024 um 15:12 Uhr

7907292512
Lösung 7907292512 11.08.2023 aktualisiert um 13:05:02 Uhr
Goto Top
Eingabe des Pfades über die Konsole:
$img = get-clipboard -format image
if ($img){
    $dateiname = Read-Host "Dateiname eingeben"  
    $img.save($dateiname)
    $img.Dispose()
}else{
    write-host "Kein Bild in der Zwischenablage!" -F Red  
    sleep 3
}
Oder grafisch über einen SaveFileDialog
Add-Type -A System.Windows.Forms
$img = get-clipboard -format image
if ($img){
    $dlg = New-Object System.Windows.Forms.SaveFileDialog
    $dlg.Filter = "Bilder|*.jpg"  
    if($dlg.ShowDialog() -eq 'OK'){  
        $img.Save($dlg.FileName,'Jpeg')  
        $img.Dispose()
    }
}else{
    write-host "Kein Bild in der Zwischenablage!" -F Red  
    sleep 3
}

Gruß siddius
jstar5588
jstar5588 11.08.2023 um 12:50:07 Uhr
Goto Top
Zitat von @7907292512:

Eingabe des Pfades über die Konsole:
$dateiname = Read-Host "Dateiname eingeben"  
Oder grafisch über einen SaveFileDialog
Add-Type -A System.Windows.Forms
$dlg = New-Object System.Windows.Forms.SaveFileDialog
$dlg.Filter = "Bilddateien|*.jpg"  
if($dlg.ShowDialog() -eq 'OK'){  
    $dateiname = $dlg.FileName
    $dateiname
}

Gruß siddius

Grafisch über einen Dialog wäre natürlich eine Feine Sache.
Wie setze ich die Zeilen dann zusammen dass es funktioniert?
(Sorry, bin nicht so der Programmzeilenschreiber face-smile )
7907292512
7907292512 11.08.2023 aktualisiert um 12:52:36 Uhr
Goto Top
Siehe ergänzter Code oben.
jstar5588
jstar5588 11.08.2023 um 13:04:38 Uhr
Goto Top
Besten Dank für die Hilfe

Viele Grüße,
cse
cse 11.08.2023 um 13:40:52 Uhr
Goto Top
ansonsten, irvan view hat für sowas auch eine funktion.
mittels shortcut wird automatisch immer ein screeni abgelegt.