是否可以通过批处理文件在资源管理器中选择多个文件并将其名称(及其名称,不是文件夹中的每个文件)写入文本文件?谢谢.
是的,这是可能的.使用以下批处理代码:
@echo off
set "OutputFile=%USERPROFILE%\Desktop\FileNames.txt"
del "%OutputFile%" 2>nul
:NextFileName
if not "%~1" == "" (
echo %~1>>"%OutputFile%"
shift
goto NextFileName
)
if exist "%OutputFile%" (
%SystemRoot%\System32\sort.exe "%OutputFile%" /O "%OutputFile%"
)
Run Code Online (Sandbox Code Playgroud)
带有所选文件路径的文件名将写入FileNames.txt活动用户桌面上名称的文件,每次执行批处理文件时始终创建新文件.
创建此批处理文件后,在目录中创建此批处理文件的快捷方式,%USERPROFILE%\SentTo并在快捷方式的属性中指定以始终使用最小化控制台窗口运行批处理文件.
然后有可能
将带有路径的所选文件的名称写入文本文件.
要获得没有路径的文件的名称,请将第6行更改为:
echo %~nx1>>"%OutputFile%"
Run Code Online (Sandbox Code Playgroud)
要了解使用的命令及其工作方式,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面.
call /?%~1- 没有双引号的第一个参数 - 和%~nx1- 只是没有双引号的第一个参数的名称和文件扩展名.echo /?goto /?if /?shift /?sort /?另请阅读Microsoft有关使用命令重定向运算符的文章.
注意:
命令行的长度是有限的,因此无法选择数千个文件并将其文件名以完整路径发送到批处理文件.Windows资源管理器只运行批处理文件,并在调用批处理文件时将每个文件名指定为参数.
顺便说说:
我最喜欢的文件管理器Total Commander内置了命令:
cm_CopyNamesToClipcm_CopyFullNamesToClipcm_CopyNetNamesToClip我为TC的3个命令中的每个命令分配了一个热键,并将它们也添加到TC的工具栏中,以便通过键盘或鼠标点击随时快速执行.这是我15年多以前完成的,从那以后我从来没有为已经存在的文件手动输入文件名.在Total Commander中使用这3个命令时,文件/文件夹的数量没有限制.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |