问题描述
我认识到这里的问题更有可能与 bat 文件本身有关,而不是右键单击 -> 发送到 -> bat 文件的快捷方式,所以这里...
这个想法是用户在一个文件夹中选择一堆文件,右键单击,然后可以将这些文件发送到 bat 文件中以创建文件名列表。
于是我创建了bat文件,创建了bat文件的快捷方式。将快捷方式放入我的发送到文件夹中,并且 bat 文件的发送到选项按预期显示。
但是,当我选择一堆文件(甚至只是一个)并右键单击 - 发送到 - bat 文件时,Windows 资源管理器会闪烁,好像在做某事但没有生成 txt 文件。请参阅下面的我的确切文件内容:
@echo off
set "OutputFile=C:\Users\Paul\Desktop\FileNames.txt"
del "%OutputFile%" 2>nul
:NextFileName
if not "%~1" == "" (
echo %~nx1>>"%OutputFile%"
shift
goto NextFileName
)
if exist "%OutputFile%" (
%systemRoot%\System32\sort.exe "%OutputFile%" /O "%OutputFile%"
)
怎么了?
解决方法
不要使用 %~1 使用 %1 就好像我没有错一样 %~1-9 用于函数而 %1-9 用于 cmd 参数。