在Windows上的cmd中找到第一个文件后的stop WHERE命令

在Windows上的cmd中找到第一个文件后的stop WHERE命令,cmd,Cmd,我正在尝试从cmd运行R,并使用以下命令查找可执行文件: WHERE /R C:\ Rscript.exe 这会返回多个exe文件,但我只需要第一个文件,所以有没有办法告诉命令在找到一个文件后停止 谢谢。您可以使用for/F循环,捕获where的输出并忽略除第一项以外的所有项目: set“FIRST=“&for/F”delims=eol=|%E in('where/R C:\Rscript.exe')do@如果未定义第一个set“FIRST=%E” 变量FIRST将保存第一个项目(使用ech

我正在尝试从cmd运行R,并使用以下命令查找可执行文件:

WHERE /R C:\ Rscript.exe
这会返回多个exe文件,但我只需要第一个文件,所以有没有办法告诉命令在找到一个文件后停止


谢谢。

您可以使用
for/F
循环,捕获
where
的输出并忽略除第一项以外的所有项目:

set“FIRST=“&for/F”delims=eol=|%E in('where/R C:\Rscript.exe')do@如果未定义第一个set“FIRST=%E”
变量
FIRST
将保存第一个项目(使用
echo/%FIRST%
set FIRST
查看)


当您要将此代码集成到批处理文件中时,请记住使用
%%E
而不是
%E

否。这些命令仅用于执行您的命令。第一个将被使用。这就是
where
告诉您的。作为一种解决方法,您可以使用:
set“FIRST=“&for/F”delims=eol=|%E in('where/R C:\Rscript.exe')do@如果没有定义FIRST set“FIRST=%E”
,那么变量
FIRST
将保存第一项,然后(使用
echo/%FIRST%
查看)。@aschipfl这很完美,正是我想要的。非常感谢。