Есть ли способ «получить буфер обмена» и использовать информацию о буфере обмена, на которую ссылаются, в командной строке? - PullRequest
1 голос
/ 12 апреля 2019

Я делаю скрипт для преобразования PDF в текстовый файл. Я пытаюсь скопировать имя файла и затем использовать имя скопированного файла в следующей строке скрипта. Но использование get-clipboard не включает эти данные в одну и ту же командную строку. Есть ли способ, по существу, Ctrl + V в этой строке, используя PS?

PS C:\Users\PiRho> @(get-childitem C:\Users\PiRho\Desktop\PDF_Convert -name) [0] | set-clipboard
PS C:\Users\PiRho> cd C:\Users\PiRho\Desktop\PDF_Convert
PS C:\Users\PiRho\Desktop\PDF_Convert> .\pdftotext -table | get-clipboard
  I/O Error: Couldn't open file 'get-clipboard'

Так что это старый способ, которым я это делал.

PS C:\Users\PiRho> @(get-childitem C:\Users\PiRho\Desktop\PDF_Convert -name)[0] | set-clipboard
PS C:\Users\PiRho> cd C:\Users\PiRho\Desktop\PDF_Convert
PS C:\Users\PiRho\Desktop\PDF_Convert> .\pdftotext -table #Ctrl+V#

#Ctrl+V# выполняется с использованием моего макроса, но иногда он использует предыдущую информацию из буфера обмена.

Фактически я ищу замену Ctrl+V в powershell, которая не использует макрос для ввода имени файла.

1 Ответ

0 голосов
/ 13 апреля 2019

Самый простой способ - использовать Переменные , что-то вроде:

$File = @(get-childitem C:\Users\PiRho\Desktop\PDF_Convert -name)[0]
cd C:\Users\PiRho\Desktop\PDF_Convert
.\pdftotext -table $File.FullName
...