У меня есть следующий сценарий пакетного файла, который я пытаюсь запустить, чтобы получить мой пароль в буфер обмена. Я пробовал несколько разных методов, но не могу заставить их работать.
set "passwd=p455code&"
echo %passwd%|clip
Когда я запускаю его, я получаю следующую ошибку:
C:aliases>set "passwd=p455code&"
| was unexpected at this time.
Пожалуйста, дайте мне знать, что я здесь делаю не так.
2 ответа
Пожалуйста, дайте мне знать, что я здесь делаю не так.
Забудьте об использовании для этого переменной, она вам не нужна.
Работает следующий 1 лайнер:
echo|set/p="p455code&"|clip
Источник: сценарий Windows для копирования некоторого текста в буфер обмена ?, ответ барлопом
Вы используете оператора & без ^экранирование и отправить этот «ожидаемый результат» по конвейеру прямо на clip команда, и поскольку cmd.exe интерпретируется как run command & | command вы получите ошибку:
| было неожиданно в это время.
Кроме того, вместо расширения значения / строк, сохраненных в переменной, для копирования в буфер обмена, используйте их список и зафиксируйте значение в for /f петля:
set "_pwd=p455code^&"
for /f tokens^=2delims^=^= %i in ('set _pwd')do echo%i|clip- Вызов powershell в cmd:
powershell -nop -c "'p455code&'|clip"- В PowerShell
'p455code&'|clip