问题描述
简单的批处理文件,例如
for %%i in (*.txt) do (
start notepad.exe "%%~ni.txt"
)
通过右键单击上下文菜单运行它,就像回答here
只要目录中只有一个.txt文件,它就可以正常工作。如果有多个.txt文件,则会打开所有文件。
如何仅打开一个右键单击的文件?
解决方法
我不确定为什么只使用%%~ni.txt
时为什么要使用%%~i
,无论如何,这应该只使用输入中的第一项:
@echo off
for %%i in ("%~1") do (
start notepad.exe "%%~i"
)
不过,更简单的方法是用这一行替换上面的所有内容:
@start "" notepad.exe "%~1"