Использование команды CLIP в командном файле

Я пытаюсь написать командный файл, чтобы сделать следующее:

  1. Скопируйте данный файл (перетаскиванием или с помощью параметра "Отправить") на предварительно определенный сетевой диск
  2. Создайте строку пути к файлу
  3. Скопируйте путь к файлу в буфер обмена

Вот что у меня так далеко:

@ECHO OFF
ECHO "%~1"
ECHO "Uploading File..."
COPY "%~1" "PATH_TO_NETWORK_DRIVE"
SET "path=PATH_TO_NETWORK_DRIVE"
SET "file=%~nx1"
SET "link=%path%%file%"
ECHO %link%> "I:\filepath.txt"
START "I:\filepath.txt"

Вышесказанное работает, поскольку файл копируется в правильное местоположение и создается текстовый файл, содержащий строку пути. Я использую только внешний текстовый файл и приведенную выше команду START исключительно потому, что натолкнулся на препятствие на пути получения текстового файла для копирования в буфер обмена, пробуя многочисленные варианты команды CLIP. Я пробовал:

ECHO %link%| clip

clip < "I:\filepath.txt"

type "I:\filepath.txt" | clip

Ничто из вышеперечисленного не работает для меня, несмотря на то, что другие темы здесь предлагают это. Есть ли ограничения в использовании CLIP в командном файле? Есть ли обходной путь к этому? Буду очень признателен за любую помощь:)

1 ответ

Решение

Вы стираете свою систему path с этим утверждением, так что ваш пакетный файл, вероятно, не может найти CLIP.EXE,

SET "path=PATH_TO_NETWORK_DRIVE"

Измените это на mypath (или любое другое имя):

SET "mypath=PATH_TO_NETWORK_DRIVE"

Кроме того, измените все ваши ссылки с %path% в %mypath%,

Другие вопросы по тегам