Используйте windows временное изображение сниппета и эскиза буфера обмена в cmd - PullRequest
2 голосов
/ 19 апреля 2020

Так что я пытаюсь использовать текущий файл буфера обмена при использовании snip и sketch в windows 10 в процессе imagemagick .bat, который преобразует их в значки, кажется, что он сохраняется в директории,

AppData\Local\Packages\Microsoft.Windows.ShellExperienceHost_cw5n1h2txyewy\TempState\ScreenClip

Но его 3 файла, a. json, миниатюра, а затем фактическое изображение. Два файла png не имеют никакого способа различить себя, размер файла и время, а также разрешение и имя кажутся случайными, поэтому я не могу вытащить их из этой папки, и, кажется, также сохранить каждый фрагмент, так что это большой беспорядок.

Часть проблемы, которую я считаю, заключается в том, что она не появляется в буфере вставки, даже если она где-то существует, потому что вы можете вставить ее непосредственно в документ Word или Discord, и она распознает это.

Другая Я попробовал получить paste.exe от c3scripts.com, который работает только с выводом текста в .txt файл.

Я пробовал PowerShell, используя команду Get-Clipboard, которая также работает только с текстом.

Кто-нибудь знает, как вытащить этот файл из буфера обмена во что-то, пригодное для использования в cmd, чтобы я мог добавить его в .bat или, если есть другая программа, которая могла бы более эффективно снимать экран.

TLDR: нужен способ обрезки, скриншота и сохранения файла с наименьшим количеством возможных шагов

1 Ответ

1 голос
/ 19 апреля 2020

Вы можете использовать переключатель формата Get-clipboard в Powershell:

# Verify if clipboard has image and if it has then save it
Add-Type -AssemblyName System.Windows.Forms
$clipboard = [System.Windows.Forms.Clipboard]::GetDataObject() 
if ($clipboard.ContainsImage()) {
  $img = get-clipboard -format image 
  $img.save("FilePath")
}
...