繁体   English   中英

批处理 - 将DIR的输出写入变量

[英]Batch - Write output of DIR to a variable

我必须将DIR的输出存储在一个变量中。

这是如之前询问这里这里这里

它们都提供了与我现在使用的或多或少类似的答案:

%= Find the *.sln file and write its path to the file temp.temp =%
DIR /s/b *.sln > temp.temp

%= Read out the content of temp.temp again to a variable =%
SET /p texte=< temp.temp

%= Remove the temp.temp file =%
DEL temp.temp

%= Get only the filename without path =%
FOR %%A IN ("%texte%") DO (
    SET Name=%%~nxA
)

但在我的情况下,我敢肯定的输出中DIR /s/b *.sln将是百达一衬垫 对我来说,它看起来有点难看
a)将输出存储在外部文件中
b)在它上面运行FOR循环虽然我已经知道它只有一行。

有没有直接/简单的方法来做到这一点?

for /f "delims=" %%a in ('dir /s /b *.sln') do set "name=%%a"

确实是最有效的方法(您可以直接处理命令的输出,不需要临时文件)。
%name%将包含文件的完整限定文件名(如果有多个文件,则包含最后一个文件)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM