将文件名复制到剪贴板但跳过文件扩展名

将文件名复制到剪贴板但跳过文件扩展名

我在创建的批处理文件中使用此脚本将文件名复制到剪贴板,然后我可以使用,

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

我在 Windows SendTo 菜单中创建了一个指向此批处理文件的快捷方式。当我想将特定文件夹中的文件名复制到剪贴板时,我只需右键单击此文件夹,然后 SendTo 此批处理文件。这很有效。

但是我可以通过跳过文件扩展名(如.jpg)来改进这个脚本吗?

感谢您的帮助。

答案1

使用辅助文件的简单解决方案:

@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

对于没有辅助文件的解决方案,请启发自己将换行符分配给批处理脚本中的变量

资源(必读):

相关内容