From e964100dd96aab9270399b9bb6693515080c6f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jim=20Liu=20=E5=AE=9D=E7=8E=89?= Date: Tue, 10 Feb 2026 16:05:03 -0600 Subject: [PATCH] fix(baoyu-post-to-wechat): fix PowerShell clipboard copy on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Embed file path directly in PowerShell script with single-quote escaping instead of using param()/−Path which fails with -Command parameter. --- .../scripts/copy-to-clipboard.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/skills/baoyu-post-to-wechat/scripts/copy-to-clipboard.ts b/skills/baoyu-post-to-wechat/scripts/copy-to-clipboard.ts index d27e955..e990f03 100644 --- a/skills/baoyu-post-to-wechat/scripts/copy-to-clipboard.ts +++ b/skills/baoyu-post-to-wechat/scripts/copy-to-clipboard.ts @@ -228,25 +228,25 @@ async function copyHtmlLinux(htmlFilePath: string): Promise { } async function copyImageWindows(imagePath: string): Promise { + const escaped = imagePath.replace(/'/g, "''"); const ps = [ - 'param([string]$Path)', 'Add-Type -AssemblyName System.Windows.Forms', 'Add-Type -AssemblyName System.Drawing', - '$img = [System.Drawing.Image]::FromFile($Path)', + `$img = [System.Drawing.Image]::FromFile('${escaped}')`, '[System.Windows.Forms.Clipboard]::SetImage($img)', '$img.Dispose()', ].join('; '); - await runCommand('powershell.exe', ['-NoProfile', '-Sta', '-Command', ps, '-Path', imagePath]); + await runCommand('powershell.exe', ['-NoProfile', '-Sta', '-Command', ps]); } async function copyHtmlWindows(htmlFilePath: string): Promise { + const escaped = htmlFilePath.replace(/'/g, "''"); const ps = [ - 'param([string]$Path)', 'Add-Type -AssemblyName System.Windows.Forms', - '$html = Get-Content -Raw -LiteralPath $Path', + `$html = Get-Content -Raw -LiteralPath '${escaped}'`, '[System.Windows.Forms.Clipboard]::SetText($html, [System.Windows.Forms.TextDataFormat]::Html)', ].join('; '); - await runCommand('powershell.exe', ['-NoProfile', '-Sta', '-Command', ps, '-Path', htmlFilePath]); + await runCommand('powershell.exe', ['-NoProfile', '-Sta', '-Command', ps]); } async function copyImageToClipboard(imagePathInput: string): Promise {