Фонсписок Convert путей к списку имен файлов
Я считаю себя часто копирование пути к файлу в буфер обмена, который несколько громоздким, чтобы сделать из Windows Explorer.
Поэтому я написал немного файла .bat
, чтобы поместить его в папку %APPDATA%\Microsoft\Windows\SendTo\
, используя CLIP
executable, чтобы скопировать список выбранных путей к файлу в буфер обмена. Этот файл состоит только из одной строки:
echo|set /p= "%*" | clip.exe
который работает довольно хорошо, я могу выбрать один или несколько имен файлов в проводнике, щелкните правой кнопкой мыши на них и «Отправить» в .bat
файл, который копирует их в буфер обмена. Каждый путь к файлу завершен и отделен от остальных символом пробела.
Вопрос
Иногда, я не хочу, чтобы скопировать список полных путей к файлам, но предпочел бы, чтобы список только имен файлов с их расширениями. Я знаю, как сделать это преобразование для одиночных путей файлов, используя синтаксис %~nx
, как описано here или here.
Я пробовал разные комбинации, но, похоже, не нашел подходящего решения для моего списка путей. Следующий код echo
S имена файлов правильно:
for %%F in (%*) do echo %%~nxF
... но как я могу объединить их через перейти к CLIP
? Нужно ли выполнять конкатенацию строк? Может быть, в подпрограмме должно быть call
ed, или есть более элегантное решение?
Вы попробовали? 'Недопустимо следующее использование оператора пути в подстановке пакетных параметров:% ~ nx *" ' – JosefZ
В моей системе Windows 7 это сообщение об ошибке появляется так же, как @JosefZ. – FriendFX