скопируйте & в буфер обмена с помощью командного файла

У меня есть следующий сценарий пакетного файла, который я пытаюсь запустить, чтобы получить мой пароль в буфер обмена. Я пробовал несколько разных методов, но не могу заставить их работать.

set "passwd=p455code&"
echo %passwd%|clip

Когда я запускаю его, я получаю следующую ошибку:

C:aliases>set "passwd=p455code&"

| was unexpected at this time.

Пожалуйста, дайте мне знать, что я здесь делаю не так.

2 ответа
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

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *