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

@echo off
set dirpath=%1
dir %dirpath% /b /n | clip
exit

Я создал ярлык в меню SendTo в Windows, который указывает на этот командный файл. Когда я хочу скопировать имена файлов из определенной папки в буфер обмена, я просто щелкаю правой кнопкой мыши по этой папке, а затем отправляю в этот пакетный файл. Это отлично работает.

Но можно ли улучшить этот скрипт, пропустив расширения файлов (например, .jpg)?

Спасибо за вашу помощь.

1 ответ1

0

Простое решение с использованием вспомогательного файла:

@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion

>"%temp%\%~n0.txt" (
    for /F "delims=" %%G in ('dir "%~1" /b') do echo(%%~nG
)
type "%temp%\%~n0.txt"|clip

rem erase "%temp%\%~n0.txt"

exit

Для решения без вспомогательного файла побудите себя назначить символ новой строки для переменной в пакетном скрипте

Ресурсы (требуется чтение):

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .