Powershell Alternative
This commit is contained in:
42
clip2snips.ps1
Normal file
42
clip2snips.ps1
Normal file
@@ -0,0 +1,42 @@
|
||||
# clip2snips.ps1
|
||||
|
||||
# Setze Output-Encoding auf UTF-8
|
||||
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
$OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
|
||||
# Hole Text aus der Zwischenablage
|
||||
$clipText = Get-Clipboard
|
||||
if ([string]::IsNullOrWhiteSpace($clipText)) {
|
||||
Write-Host "die zwischenablage ist leer"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Entferne Zeilenumbrüche am Ende
|
||||
$clipText = $clipText.TrimEnd()
|
||||
|
||||
# Sende Text an snips.sh und hole die Antwort
|
||||
try {
|
||||
# Verwende -rawOutput um Encoding-Probleme zu vermeiden
|
||||
$output = $clipText | ssh -T snips.sh 2>&1 | Out-String
|
||||
# Write-Host "Debug - SSH Antwort:"
|
||||
#Write-Host $output
|
||||
} catch {
|
||||
Write-Host "fehler beim senden an snips.sh: $_"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Extrahiere die URL mit verbessertem Regex
|
||||
if ($output -match 'f:([_a-zA-Z0-9]+)@snips\.sh') {
|
||||
$id = $matches[1]
|
||||
$url = "https://snips.sh/f/$id"
|
||||
|
||||
# Kopiere URL in die Zwischenablage
|
||||
$url | Set-Clipboard
|
||||
|
||||
# Gib URL aus
|
||||
Write-Host $url
|
||||
} else {
|
||||
Write-Host "keine url in der antwort gefunden"
|
||||
Write-Host "Debug - Antwort enthält keine URL im Format: ssh f:ID@snips.sh"
|
||||
exit 1
|
||||
}
|
Reference in New Issue
Block a user