我在创建的批处理文件中使用此脚本将文件名复制到剪贴板,然后我可以使用,
@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
对于没有辅助文件的解决方案,请启发自己将换行符分配给批处理脚本中的变量
资源(必读):
- (命令参考)Windows CMD 命令行的 AZ 索引
- (其他细节)Windows CMD Shell 命令行语法
- (
%~1
等%%~nG
专题页面)命令行参数(参数) - (
>>
等2>1
专题页面)重定向