Показать полную графическую версию : как вытащить картинку из буфера обмена батником
angel_lyucifer
16-11-2013, 00:27
Привет всем!
как вытащить картинку из буфера обмена с помощью bat файла, командой типа:
clip > echo > foto.jpg
Без использования отдельных утилит...
Помогите пожалуйста.
1. «Вытащить» куда? Сохранить в файл с неким предопределённым путём?
2. Какая ОС? Windows 7?
angel_lyucifer
16-11-2013, 17:58
Цитата Iska: «Вытащить» куда? »
Сохранить на винт.
Цитата Iska: Сохранить в файл с неким предопределённым путём? »
Путь сохранение на рабочем столе.
У меня ОС, Windows 7...
PowerShell:
Add-Type -AssemblyName System.Windows.Forms
if ([System.Windows.Forms.Clipboard]::ContainsImage()) {
([System.Windows.Forms.Clipboard]::GetImage()).Save((Join-Path -Path ([Environment]::GetFolderPath("Desktop")) -ChildPath "Clipboard.png"), [System.Drawing.Imaging.ImageFormat]::Png)
} else {
Write-Host "Clipboard not contains an image"
}
Отдельное спасибо коллеге Kazun за исправление ошибки.
angel_lyucifer
17-11-2013, 02:17
В каком расширении сохранить скрипт?
В каком расширении сохранить скрипт? »
«.ps1». И разрешите исполнение локальных скриптов PowerShell (Using the Set-ExecutionPolicy Cmdlet (http://technet.microsoft.com/en-us/library/ee176961.aspx)), если ранее не сделали этого.
angel_lyucifer
17-11-2013, 21:32
Извините но данный скрипт не работает.
При нажатии на кнопку (PrtScn) на клавиатуре, и картинка попадает в буфер обмена потом я запускаю мой батник он должен сохранять из буфера готовую картинку...
Вот содержимое мое батника:
start %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe "script.ps1"
Или
start powershell.exe "script.ps1"
Но оба примера, не работают.
Зачем Вам ещё и пакетный файл? Сделайте просто ярлык на файл «Путь\script.ps1» и пользуйте.
angel_lyucifer
18-11-2013, 04:37
Зачем Вам ещё и пакетный файл? »
Я просто пишу небольшую программу.
Чтоб пример Iska заработал, требуется не забыть добавить первой строчкой:
Add-Type -AssemblyName System.Windows.Forms
Kazun, под IDE (PowerShell ISE) работает потому, что там данная конкретная сборка загружается автоматически? Под нужды самого IDE?
Именно так,в PowerShell ISE данная сборка загружается по умолчанию.
Kazun, спасибо, ясно. Моя ошибка понятна. Внёс дополнение в пост со скриптом.
angel_lyucifer
18-11-2013, 19:08
Чтоб пример Iska заработал, требуется не забыть добавить первой строчкой: »
А куда добавить, в скрипт ps1 или батник?
angel_lyucifer, в скрипт. Вы так и не сказали, зачем Вам нужен ещё и пакетный файл.
angel_lyucifer
19-11-2013, 21:57
Вы так и не сказали, зачем Вам нужен ещё и пакетный файл. »
Ох, я же вам уже написал (Я пишу собственную небольшую программу, которая будет делать сама скриншоты и будет состоять из 3х скриптов).
1) Скрипт для Управления и Интерфейса.
2) Скрипт для Эмуляции клавиш.
3) Скрипт для Извлечения из буфера обмена и сохранения на Жёсткий диск.
И всё это будет контролировать пакетный файл.
kiripanda
19-11-2013, 23:10
"кнопка создания графического файла с содержимым буфера обмен" http://forum.wincmd.ru/viewtopic.php?p=47179
И всё это будет контролировать пакетный файл. »
Вам не нужен пакетный файл. Вам более чем достаточно одного скрипта PowerShell. И для интерфейса, и для эмуляции, и для сохранения. А можно ничего не писать, а просто взять PicPic и пользоваться.
angel_lyucifer
20-11-2013, 17:37
Вам не нужен пакетный файл. Вам более чем достаточно одного скрипта PowerShell. И для интерфейса, и для эмуляции, и для сохранения. А можно ничего не писать, а просто взять PicPic и пользоваться. »
Проблема в том что я совсем не разбираюсь в PowerShell...
Даже в скрипте:
Add-Type -AssemblyName System.Windows.Forms
if ([System.Windows.Forms.Clipboard]::ContainsImage()) {
([System.Windows.Forms.Clipboard]::GetImage()).Save((Join-Path -Path ([Environment]::GetFolderPath("Desktop")) -ChildPath "Clipboard.png"), [System.Drawing.Imaging.ImageFormat]::Png)
} else {Write-Host "Clipboard not contains an image"}
Какие то проблема, скрипт не хочет работать в моей OC Win7... -(
Проблема в том что я совсем не разбираюсь в PowerShell... »
Я тоже. Но я учусь.
Какие то проблема, скрипт не хочет работать в моей OC Win7... »
Запустите консоль PowerShell. Выполните в ней указанный скрипт .ps1, указав его либо с полным путём, либо через ссылку на текущий каталог: «.\Имя.ps1». Скопируйте текст проблемы из окна консоли и выложите его. Ибо «не хочет работать» мало о чём говорит.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.