Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   как вытащить картинку из буфера обмена батником (http://forum.oszone.net/showthread.php?t=272148)

angel_lyucifer 16-11-2013 00:27 2255596

как вытащить картинку из буфера обмена батником
 
Привет всем!
как вытащить картинку из буфера обмена с помощью bat файла, командой типа:
PHP код:

clip > echo > foto.jpg 

Без использования отдельных утилит...
Помогите пожалуйста.

Iska 16-11-2013 00:30 2255601

1. «Вытащить» куда? Сохранить в файл с неким предопределённым путём?
2. Какая ОС? Windows 7?

angel_lyucifer 16-11-2013 17:58 2255952

Цитата Iska: «Вытащить» куда? »
Сохранить на винт.
Цитата Iska: Сохранить в файл с неким предопределённым путём? »
Путь сохранение на рабочем столе.
У меня ОС, Windows 7...

Iska 16-11-2013 18:41 2255984

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 2256269

В каком расширении сохранить скрипт?

Iska 17-11-2013 09:11 2256306

Цитата:

Цитата angel_lyucifer
В каком расширении сохранить скрипт? »

«.ps1». И разрешите исполнение локальных скриптов PowerShell (Using the Set-ExecutionPolicy Cmdlet), если ранее не сделали этого.

angel_lyucifer 17-11-2013 21:32 2256711

Извините но данный скрипт не работает.
При нажатии на кнопку (PrtScn) на клавиатуре, и картинка попадает в буфер обмена потом я запускаю мой батник он должен сохранять из буфера готовую картинку...

Вот содержимое мое батника:
PHP код:

start %SystemRoot%system32WindowsPowerShellv1.0powershell.exe "script.ps1" 

Или
PHP код:

start powershell.exe "script.ps1" 

Но оба примера, не работают.

Iska 18-11-2013 00:29 2256860

Зачем Вам ещё и пакетный файл? Сделайте просто ярлык на файл «Путь\script.ps1» и пользуйте.

angel_lyucifer 18-11-2013 04:37 2256909

Цитата:

Цитата Iska
Зачем Вам ещё и пакетный файл? »

Я просто пишу небольшую программу.

Kazun 18-11-2013 12:20 2257028

Чтоб пример Iska заработал, требуется не забыть добавить первой строчкой:
Код:

Add-Type -AssemblyName System.Windows.Forms

Iska 18-11-2013 14:07 2257095

Kazun, под IDE (PowerShell ISE) работает потому, что там данная конкретная сборка загружается автоматически? Под нужды самого IDE?

Kazun 18-11-2013 14:22 2257108

Именно так,в PowerShell ISE данная сборка загружается по умолчанию.

Iska 18-11-2013 14:38 2257119

Kazun, спасибо, ясно. Моя ошибка понятна. Внёс дополнение в пост со скриптом.

angel_lyucifer 18-11-2013 19:08 2257311

Цитата:

Цитата Kazun
Чтоб пример Iska заработал, требуется не забыть добавить первой строчкой: »


А куда добавить, в скрипт ps1 или батник?

Iska 18-11-2013 23:38 2257546

angel_lyucifer, в скрипт. Вы так и не сказали, зачем Вам нужен ещё и пакетный файл.

angel_lyucifer 19-11-2013 21:57 2258108

Цитата:

Цитата Iska
Вы так и не сказали, зачем Вам нужен ещё и пакетный файл. »

Ох, я же вам уже написал (Я пишу собственную небольшую программу, которая будет делать сама скриншоты и будет состоять из 3х скриптов).
1) Скрипт для Управления и Интерфейса.
2) Скрипт для Эмуляции клавиш.
3) Скрипт для Извлечения из буфера обмена и сохранения на Жёсткий диск.
И всё это будет контролировать пакетный файл.

kiripanda 19-11-2013 23:10 2258154

"кнопка создания графического файла с содержимым буфера обмен" http://forum.wincmd.ru/viewtopic.php?p=47179

Iska 20-11-2013 00:27 2258198

Цитата:

Цитата angel_lyucifer
И всё это будет контролировать пакетный файл. »

Вам не нужен пакетный файл. Вам более чем достаточно одного скрипта PowerShell. И для интерфейса, и для эмуляции, и для сохранения. А можно ничего не писать, а просто взять PicPic и пользоваться.

angel_lyucifer 20-11-2013 17:37 2258593

Цитата:

Цитата Iska
Вам не нужен пакетный файл. Вам более чем достаточно одного скрипта PowerShell. И для интерфейса, и для эмуляции, и для сохранения. А можно ничего не писать, а просто взять PicPic и пользоваться. »

Проблема в том что я совсем не разбираюсь в PowerShell...

Даже в скрипте:
PHP код:

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... -(

Iska 20-11-2013 18:57 2258650

Цитата:

Цитата angel_lyucifer
Проблема в том что я совсем не разбираюсь в PowerShell... »

Я тоже. Но я учусь.

Цитата:

Цитата angel_lyucifer
Какие то проблема, скрипт не хочет работать в моей OC Win7... »

Запустите консоль PowerShell. Выполните в ней указанный скрипт .ps1, указав его либо с полным путём, либо через ссылку на текущий каталог: «.\Имя.ps1». Скопируйте текст проблемы из окна консоли и выложите его. Ибо «не хочет работать» мало о чём говорит.

angel_lyucifer 20-11-2013 20:05 2258705

http://forum.oszone.net/attachment.p...1&d=1384962335
Система запрещает на выполнения скрипта, это видно на скрине.

Foreigner 20-11-2013 21:33 2258786

angel_lyucifer,

Iska написал же.
Выполните в PowerShell от админа:
Код:

set-executionpolicy remotesigned
и можно выполнять скрипты

angel_lyucifer 21-11-2013 20:37 2259438

Спасибо всем за помощь, но данный скрипт мне не подходит...

Foreigner 21-11-2013 20:56 2259449

Цитата:

Цитата angel_lyucifer
Спасибо всем за помощь, но данный скрипт мне не подходит... »

Тогда только сторонние утилиты, например nconvert или nircmd

Iska 21-11-2013 21:24 2259470

Foreigner, изначально автор настаивал:
Цитата:

Цитата angel_lyucifer
Без использования отдельных утилит... »

но, думаю, теперь передумает ;).

Foreigner 21-11-2013 21:28 2259480

Iska, Я сразу бы выложил решение, но оно нарушает условия задания. Так что...


Время: 22:40.

Время: 22:40.
© OSzone.net 2001-